Ë
    àGFj  ã            	       ó  — d dl Z d dlZd dlmZ d dlmZ d dlmZmZm	Z	 d dl
Z
d dlmZ  e«         e j                  d«      Zej                  j!                  ej                  j!                  ej                  j#                  e«      «      «      Z ej(                  dej                  j+                  ed«      «      Z ej(                  d	d
«      j/                  d«      Zdedefd„Zddedededefd„Zdeddfd„Zdedefd„Z dedefd„Z!y)é    N)ÚPath)ÚThread)ÚquoteÚunquoteÚurlparse)Úload_dotenvÚai_visual_helperÚ
DESIGN_DIRÚdesignÚAI_SERVICE_URLzhttp://127.0.0.1:8001ú/ÚvalueÚreturnc                 ó  — t        | xs d«      j                  «       }|sy|j                  d«      s|j                  d«      rt        |«      j                  }n|}t
        j                  j                  t        |«      «      S )NÚ zhttp://zhttps://)ÚstrÚstripÚ
startswithr   ÚpathÚosÚbasenamer   )r   Úrawr   s      ú7/var/www/pod-logistic/pod-api/utils/ai_visual_helper.pyÚextract_design_file_namer      sc   € Ü
ˆeŠk�rÓ
×
 Ñ
 Ó
"€CÙØà
‡~�~�iÔ  C§N¡N°:Ô$>Ü˜‹}×!Ñ!‰àˆä�7‰7×ÑœG D›MÓ*Ð*ó    Úimage_bytesÚfilenameÚcontent_typec                 óž   — d|xs d| |xs dfi}t        j                  t        › d�|d¬«      }|j                  «        |j	                  «       S )NÚfilez	query.pngú	image/pngz/search-imageéZ   )ÚfilesÚtimeout)ÚrequestsÚpostr   Úraise_for_statusÚjson)r   r   r   r#   Úresponses        r   Úsearch_image_filer*       s_   € àØÒ#˜ØØÒ'˜Kð
ð€Eô �}‰}ÜÐ
˜-Ð(ØØô€Hð
 ×ÑÔØ�=‰=‹?Ðr   Ú	file_namec                 óÒ   — 	 t        j                  t        › dt        | «      › �d¬«      }|j	                  «        y # t
        $ r!}t        j                  d| |«       Y d }~y d }~ww xY w)Nz/queue-index/é
   ©r$   z AI queue-index failed for %s: %s)r%   r&   r   r   r'   Ú	ExceptionÚloggerÚwarning)r+   r)   Úexcs      r   Ú_queue_index_design_filer3   2   sb   € ðKÜ—=‘=ÜÐ˜m¬E°)Ó,<Ð+=Ð>Øô
ˆð 	×!Ñ!Õ#øÜò KÜ�‰Ð9¸9Àc×JÑJûðKús   ‚9< ¼	A&ÁA!Á!A&Údesign_valuec           	      óp   — t        | «      }|syt        t        |fdd|dd › �¬«      j                  «        y)uT   Ä�Æ°a file vÃ o hÃ ng chá»� FIFO Ä‘á»ƒ AI há»�c ná»�n, tráº£ vá»� ngay khÃ´ng chá»�.FTzai-queue-index-Né    )ÚtargetÚargsÚdaemonÚname)r   r   r3   Ústart)r4   r+   s     r   Úindex_design_filer<   =   sB   € ä(¨Ó6€IÙØä
Ü'Øˆ\ØØ˜y¨¨"˜~Ð.Ð/ô	÷
 �e„gØr   c                 ó
  — t        | «      }|syd}	 t        j                  t        › dt	        |«      › �d¬«      }|j                  «        d}	 t        j                  j                  t        |«      }t        j                  j                  |«      rt        j                  |«       d}|S # t        $ r!}t        j                  d||«       Y d }~Œ‚d }~ww xY w# t        $ r"}t        j                  d||«       Y d }~|S d }~ww xY w)NFz/delete-product/é   r.   TzAI delete failed for %s: %sz*Local design file delete failed for %s: %s)r   r%   Údeleter   r   r'   r/   r0   r1   r   r   Újoinr
   ÚexistsÚremove)r4   r+   Ú
deleted_okr)   r2   Ú	file_paths         r   Údelete_design_filerE   L   sð   € Ü(¨Ó6€IÙØà€JðFÜ—?‘?ÜÐÐ.¬u°YÓ/?Ð.@ÐAØô
ˆð 	×!Ñ!Ô#Øˆ
ð
UÜ—G‘G—L‘L¤¨YÓ7ˆ	Ü�7‰7�>‰>˜)Ô$Ü�I‰I�iÔ Øˆ
ð Ðøô ò FÜ�‰Ð4°iÀ×EÑEûðFûô ò UÜ�‰ÐCÀYÐPS×TÐTàÐûðUús0   ’;B* ÁAC Â*	CÂ3CÃCÃ	DÃ C=Ã=D)r!   )"Úloggingr   Úpathlibr   Ú	threadingr   Úurllib.parser   r   r   r%   Údotenvr   Ú	getLoggerr0   r   ÚdirnameÚabspathÚ__file__ÚBASE_DIRÚgetenvr@   r
   Úrstripr   r   r   ÚbytesÚdictr*   r3   Úboolr<   rE   © r   r   ú<module>rV      s  ðÛ Û 	Ý Ý ß 1Ñ 1ã Ý á „à	ˆ×	Ñ	Ð-Ó	.€à�7‰7�?‰?˜2Ÿ7™7Ÿ?™?¨2¯7©7¯?©?¸8Ó+DÓEÓF€ØˆR�Y‰Y�| R§W¡W§\¡\°(¸HÓ%EÓF€
Ø�—‘Ð+Ð-DÓE×LÑLÈSÓQ€ð
+ Cð 
+¨Có 
+ñ 5ð °Cð Àsð Ð]aó ð$K¨ð K°ó Kð Cð ¨Dó ð Sð ¨Tô r   