
     i                         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dS )    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     wc:\Users\Dell Inspiron 16\Desktop\tws\AgrotaPowerBi\back-agrota-powerbi\mcp-client-agrota\agent\utils\precalc_helper.pyget_headersr      s     2DE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{V }|                    t           dt                      d           d{V }|j        dk    r<|	                                }|t          d<   | t          d<   |cddd          d{V  S t          d         pg cddd          d{V  S # 1 d{V swxY w Y   dS # t          $ r6}t                              d|            t          d         pg cY d}~S d}~ww xY 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 	2 	2 	2 	2 	2&#ZZ>(R(R(R\g\i\isvZwwwwwwwwH#s**}}+/ (36 0	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 $F+1r	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2  . . .AaAABBB'-2------.sO   
D #A'C>
D C>+D >
DD DD 
E+EEEarchetype_keyc                   K   	 t          j                    4 d{V }|                    t           dd| it	                      d           d{V }|j        dk    r&|                                cddd          d{V  S 	 ddd          d{V  dS # 1 d{V swxY w Y   dS # t          $ r+}t          	                    d|  d|            Y d}~dS d}~ww xY 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!999&6#	 (        H #s**}}		 		 		 		 		 		 		 		 		 		 		 		 		 		 		 		 		 		 		 		 		 		 		 		 		 		 		 		 		 		 		 		 		 		 		 		 		 		 		 		 		 		 		 		    JmJJqJJKKKtttttsG   B+ AB1B+ BB+ 
B""B+ %B"&B+ +
C 5 CC question	dax_querycategoryc                   K   	 | ||d}t          j                    4 d{V }|                    t           d|t	                      d           d{V }|j        dk    rt                              d|             ddd          d{V  dS # 1 d{V swxY w Y   dS # t          $ r(}t          	                    d|            Y d}~dS d}~ww xY 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 	L 	L 	L 	L 	L&#[[!:::#	 )        H #s**JJJKKK	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L  ? ? ?=!==>>>>>>>>>?s;   B% AB?B% 
BB% B B% %
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
9F F F  22  . . .&3    "?c ?c ?S ? ? ? ? ? ?r
   