
    iQh	                     &   d dl mZmZmZmZ d dlmZ d dlmZ d dl	m
Z
mZ d dlZ ed      Zd dl mZmZ d d	lmZ d dlZ ed
d      Z ee      fdefdZej+                  d      ddedefd       Zej+                  d      ddedefd       Zy)    )FastAPIHTTPExceptionQueryRequest)FileResponse)Dict)fetch_produto_por_skufetch_produtos_por_termosNzAPI Produtos Aweda)title)SecurityDepends)APIKeyHeaderz	X-API-KeyT)name
auto_errorapi_keyc                 N    | t        j                  d      k7  rt        dd      y )NAPI_KEYi  u   Chave de API inválidastatus_codedetail)osgetenvr   )r   s    #/var/www/html/aweda_api/app/main.pyverificar_api_keyr      s&    "))I&&4LMM '    z/produtos/{sku}skurequestc                 l   	 t        d       t        d|j                          t        d|j                  j                  d              t        d|         t        d       t	        | j                               }|r|S t        dd	      # t        $ r}t        d
t        |      	      d }~ww xY w)Nz========== REQ SKU ==========URL: User-Agent: 
user-agentzSKU solicitado: z==============================  u   Produto não encontrador     )	printurlheadersgetr	   stripr   	Exceptionstr)r   r   produtoes       r   buscar_por_skur-      s    <-.gkk]#$W__00>?@A &'./'		4N4MNN <CF;;<s   A?B B 	B3B..B3z
/produtos/qc                    	 g }| rcdd l }|j                  dd|       j                         } | j                  d      D cg c]#  }|j                         s|j                         % }}nOt	        |j
                        }t        |j                               D cg c]  }|j                         s||    }}t        d       t        d|j                          t        d|j                  j                  d              t        d	|        t        d
       |st        dd      t        |      }|st        dd      |S c c}w c c}w # t        $ r}t        dt!        |            d }~ww xY w)Nr   z	["\'\[\]] ,z%========= REQ TERMO (ambos) =========r   r    r!   u   Termos extraídos: z%=====================================i  zNenhum termo de busca informador   r"   u4   Nenhum produto encontrado com essas característicasr#   )resubr(   splitdictquery_paramssortedkeysisdigitr$   r%   r&   r'   r   r
   r)   r*   )	r.   r   termosr2   termo
termos_rawkey
resultadosr,   s	            r   buscar_por_termosr?   &   sF   <|R+113A12OekkmOFO)-g.B.B)CJ17
8I1J\#ckkmjo\F\56gkk]#$W__00>?@A#F8,-56C8YZZ.v6
C8noo# P ]   <CF;;<sA   <E EE&3E E/E6BE 
E 	E4E//E4)N)NN)fastapir   r   r   r   fastapi.responsesr   typingr   app.databaser	   r
   r   appr   r   fastapi.security.api_keyr   api_key_headerr*   r   r'   r-   r?    r   r   <module>rH      s    : : *  I 	() % 1 	;4@%,^%< Ns N 	< <g < <  < <g < <r   