
    gi                         d dl Z d dlZd dlmZ  ej                  d      Z eedd      Z eedd      Zd Z	d dl
Z
g d d	Zd
Zd ZdefdZdededefdZy)    N)settingszprecalc-helperBACKAGROTA_BASE_URLz!http://localhost:8085/lhia_agrotaCLIENT_API_KEYadmin123c                      t         ddS )Nzapplication/json)z	X-API-KEYzContent-Type)API_KEY     </opt/agrota/powerbi/client-mcp/agent/utils/precalc_helper.pyget_headersr      s     2DEEr
   )datalast_updatediX  c                    K   t        j                          } t        d   r| t        d   z
  t        k  r	t        d   S 	 t        j                         4 d{   }|j                  t         dt               d       d{   }|j                  dk(  r5|j                         }|t        d<   | t        d<   |cddd      d{    S t        d   xs g cddd      d{    S 7 7 h7 '7 # 1 d{  7  sw Y   yxY w# t        $ r/}t        j                  d|        t        d   xs g cY d}~S d}~ww xY ww)	u9   Recupera la lista de arquetipos con caché de 10 minutos.r   r   N/api/v1/precalc/configs      @)headerstimeout   z&Error recuperando arquetipos de Java: )time_archetype_cacheCACHE_TTL_SECONDShttpxAsyncClientgetBACKAGROTA_URLr   status_codejson	Exceptionloggererror)nowclientresponser   es        r   get_active_archetypesr%      s-    
))+CS+;N+K%KN_%_''.$$& 	2 	2&#ZZ>*::Q(R\g\isvZwwH##s*}}+/ (36 0	2 	2 	2 $F+1r	2 	2 	2w	2 	2 	2 	2 	2  .=aSAB'-2-.s   :D?D C'D 'C/ C)6C/7D C+D D?	C/D !C-"D &D?'D )C/+D -D /D5C86D=D  D?D 	D<$D71D<2D?7D<<D?archetype_keyc                   K   	 t        j                         4 d{   }|j                  t         dd| it	               d       d{   }|j
                  dk(  r!|j                         cddd      d{    S 	 ddd      d{    y7 t7 H7 7 # 1 d{  7  sw Y   yxY w# t        $ r%}t        j                  d|  d|        Y d}~yd}~ww xY ww)	u.   Recupera el resultado JSON del caché de Java.Nz/api/v1/precalc/resultarchetypeKeyg      $@)paramsr   r   r   u   Error recuperando caché para z: )
r   r   r   r   r   r   r   r   r   r    )r&   r"   r#   r$   s       r   get_cached_resultr*   '   s     $$& 		 		&#ZZ!""89&6#	 (  H ##s*}}		 		 		 		 		 				 		 		 		 		  5m_BqcJKs   CB. BB. *B
B"B-B. 9B:B. >C?B B. BB. CB. BB. B. B+B" B+'B. *C+B. .	C7CCCCquestion	dax_querycategoryc                   K   	 | ||d}t        j                         4 d{   }|j                  t         d|t	               d       d{   }|j
                  dk(  rt        j                  d|         ddd      d{    y7 h7 >7 	# 1 d{  7  sw Y   yxY w# t        $ r"}t        j                  d|        Y d}~yd}~ww xY ww)	zIEnregistra una nueva pregunta y su DAX como arquetipo en el backend Java.)sampleQuestiondaxQueryr-   Nr   r   )r   r   r   r   z!Nuevo arquetipo auto-registrado: z"Error auto-registrando arquetipo: )
r   r   postr   r   r   r   infor   r    )r+   r,   r-   payloadr"   r#   r$   s          r   save_archetype_to_backendr4   8   s     ?&! 

 $$& 	L 	L&#[[!""9:#	 )  H ##s*?zJK	L 	L 	L	L 	L 	L 	L  ?9!=>>?s   CB& BB& (BB+B:B& BB& 
CB& BB& B#BB#B& "C#B& &	C/CCCC)r   loggingconfig.settingsr   	getLoggerr   getattrr   r   r   r   r   r   r%   strr*   r4   r	   r
   r   <module>r:      s      $			+	, #8:]^
(,j
9F  2  .&3 "?c ?c ?S ?r
   