
    ׷f	                         d dl Z d dlZd dlZd dlZ ej        d          Zd dlmZ d dlZ e             ej	        d         Z
 G d d          ZdS )    Nen_core_web_sm)load_dotenv"API_CONSULTA_AGROTA_PRODUCTS_STOCKc                   \    e Zd Zedefd            Zed             Zedefd            ZdS )
Procesadortextc                 Z    t          |           }d |D             }d |D             }||dS )Nc                 2    g | ]}|j         d k    |j        S )NOUNpos_r   .0tokens     P/Users/juancaisapanta/Documents/GitHub/TWS/back-agrota-serv-ia/app/Procesador.py
<listcomp>z+Procesador.analyze_text.<locals>.<listcomp>   s&    EEE
f0D0D0D0D0D    c                 2    g | ]}|j         d k    |j        S )ADJr   r   s     r   r   z+Procesador.analyze_text.<locals>.<listcomp>   s&    IIIUUZ55H5Hej5H5H5Hr   )nouns
adjectives)nlp)r   docr   r   s       r   analyze_textzProcesador.analyze_text   sA    $iiEEEEEIIcIII
j999r   c                 $   t            d|  }t          j        |          }t          d|  d|j                    |j        dk    rJt          d|                                            t          j        |                                          S | S N/zFetching replacement for code: z - Status Code:    zResponse JSON: API_CONSULTA_STOCK_AGROTArequestsgetprintstatus_codejsondumpscodeurlresponses      r   fetch_replacement_codez!Procesador.fetch_replacement_code   s    *33T33<$$\\\hFZ\\]]]3&&5HMMOO55666:hmmoo...Kr   c                 V   t          d|            g d}d fd}|D ]}t          j        |||           } t          j        dt          j                  }|                    |           }t          d|                    d                     |r|                    d          }|S | S )Ntestx)z\bALT-\d{4}T\bz\bALT-\d{4}INOXB\bz\bALEN \d+X\d+\bz\bDCT-DTL\d+/\w+/\d+\bc                 $   t            d|  }t          j        |          }t          d|  d|j                    |j        dk    rJt          d|                                            t          j        |                                          S | S r   r   r'   s      r   r+   zIProcesador.find_and_replace_product_codes.<locals>.fetch_replacement_code*   s    .7777C|C((H`D``(J^``aaa#s**999:::z(--//222r   c                 @     |                      d                    S )Nr   )group)matchr+   s    r   replace_matchz@Procesador.find_and_replace_product_codes.<locals>.replace_match5   s    ))%++a..999r   z\{.*?\}r1   r   )r#   resubcompileDOTALLsearchr0   )r   patternsr2   patternr1   json_stringr+   s         @r   find_and_replace_product_codesz)Procesador.find_and_replace_product_codes    s    gt
 
 
		 		 			: 	: 	: 	: 	:   	8 	8G6'=$77DD*Z33t$$gu{{1~~&&& 	++a..Kr   N)__name__
__module____qualname__staticmethodstrr   r+   r;    r   r   r   r      s{        :3 : : : \: 	 	 \	  S       \     r   r   )r3   spacyr!   r%   loadr   dotenvr   osenvironr    r   rA   r   r   <module>rG      s    				   ej!""       				 *%IJ 5 5 5 5 5 5 5 5 5 5r   