
    ,/i                         d dl Z d dlZd dlmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZ d dlmZ  e j                  e      Z eedd	      Zd
 Z e	ee      dd       Zy)    N)settings)transaction)	post_save)receiver)	AdsManual)STATUS_ONLY_MODEIMAGES_AUTO_UPLOAD_ENABLEDTc                  r    dD ]#  } 	 t        j                  |       j                  c S  y # t        $ r Y 2w xY w)N)zimage_agregator.imageszmanual_agregator.images)	importlibimport_modulestore_main_image	Exception)mods    ./var/www/extractly/manual_agregator/signals.py_resolve_store_main_imager      sB    D	**3/@@@ E
   		s   *	66)senderc                    t        j                         ry t        t        dd      sy t        sy |rd|v ry |r!t        |      }|r|j                  h d      ry |sAt        dd       }t        |t              r|j                  d      st        |t              r|ry t        dd       }t        |      }|s"t        j                  dt        dd              y fd	}	t        j                  |	       y )
Nr	   Timages>   metacheck_activecheck_active_from_imagemainoriginal_image_urlsz3Skip image upload: no original_image_urls for id=%sidc                  H   	 	 ddl m}  | j                  j                  d       y # t        $ r }t
        j                  d|       Y d }~nd }~ww xY wt        dd       }t        |t              r|j                  d      st        |t              r|ry t               }|rA	  |       y # t        $ r+}t
        j                  dj                  |       Y d }~y d }~ww xY wt
        j                  d	       y # t        $ r }t
        j                  d
|       Y d }~y d }~ww xY w)Nr   )task_store_main_imageF)	overwritez Celery task fallback to sync: %sr   r   z)Sync image upload failed for ad_id=%s: %sz)No store_main_image implementation found.zon_commit enqueue failed: %s)image_agregator.tasksr   delayr   r   loggerinfogetattr
isinstancedictgetstrr   warningerror)r   eimgsr   e2instances        r   _enqueuez2adsmanual_post_save_upload_image.<locals>._enqueue6   s    	<CG%++HKK5+I C>BBC 8Xt4D4&488F+;DRUAV[_8:a$X.  aNN#NPXP[P[]_``a JK 	<LL7;;	<s]   #( 	AAC8 AAC8 C8 "B+ +	C4!CC8 CC8 8	D!DD!)r   r%   r"   r   AUTO_UPLOAD_ENABLEDsetissubsetr#   r$   r&   boolr    r!   r   	on_commit)
r   r,   createdupdate_fieldskwargsufr*   	originalshas_candidatesr-   s
    `        r    adsmanual_post_save_upload_imager9      s    894@ ]2 "++QR x40tT"txx'7Zc=RW[ "7>I)_NI7S[]acgKhi<6 (#    )N)loggingr   django.confr   	django.dbr   django.db.models.signalsr   django.dispatchr   extractly.modelsr   #link_agregator.check_active.contextr   	getLogger__name__r    r"   r.   r   r9    r:   r   <module>rE      s\       ! . $ & @			8	$h(DdK  
)I&:$ ':$r:   