
    i 	                         S SK r S SKrS SKJr  S SKJr  S SKJr  S SKJ	r	J
r
  S SKJr   " S S\5      r " S	 S
\5      rg)    N)Path)Any)
DictConfig)	JobReturn	JobStatus)Callbackc                   <    \ rS rSrSrSS jrS\S\S\SS4S	 jr	S
r
g)LogJobReturnCallback   z0Log the job's return value or error upon job endreturnNc                 t    [         R                  " [         SU R                  R                   35      U l        g N.logging	getLogger__name__	__class__logselfs    [/var/www/html/ai-image-ml/venv/lib/python3.13/site-packages/hydra/experimental/callbacks.py__init__LogJobReturnCallback.__init__   *    $$z4>>3J3J2K%LM    config
job_returnkwargsc                 N   UR                   [        R                  :X  a)  U R                  R	                  SUR
                   35        g UR                   [        R                  :X  a%  U R                  R                  SUR                  S9  g U R                  R                  S5        g )NzSucceeded with return value:  )exc_infoz)Status unknown. This should never happen.)	statusr   	COMPLETEDr   inforeturn_valueFAILEDerror_return_value)r   r   r   r   s       r   
on_job_endLogJobReturnCallback.on_job_end   sv     	 3 33HHMM9*:Q:Q9RST)"2"22HHNN2
(@(@NAHHNNFGr   )r   r   N)r   
__module____qualname____firstlineno____doc__r   r   r   r   r*   __static_attributes__ r   r   r
   r
      s5    :NH H.7HCFH	Hr   r
   c                   x    \ rS rSr% Sr\\S'   SS jrS\S\	SS4S	 jr
S\S
\S\	SS4S jrS\	S\S\SS4S jrSrg)PickleJobInfoCallback   zNPickle the job config/return-value in ${output_dir}/{config,job_return}.pickle
output_dirr   Nc                 t    [         R                  " [         SU R                  R                   35      U l        g r   r   r   s    r   r   PickleJobInfoCallback.__init__$   r   r   r   r   c                 .   [        UR                  R                  R                  5      [        UR                  R                  5      -  U l        SnU R                  XU R                  S9  U R                  R                  SU R                  U-   35        g)z7Pickle the job's config in ${output_dir}/config.pickle.zconfig.pickleobjfilenamer6   zSaving job configs in N)r   hydraruntimer6   output_subdir_save_pickler   r%   )r   r   r   r<   s       r   on_job_start"PickleJobInfoCallback.on_job_start'   sx    v||33>>?$LL&&C
 
 #fDOOT.t/I.JKLr   r   c                     SnU R                  X$U R                  S9  U R                  R                  SU R                  U-   35        g)zAPickle the job's return value in ${output_dir}/job_return.pickle.zjob_return.pickler:   zSaving job_return in N)r@   r6   r   r%   )r   r   r   r   r<   s        r   r*    PickleJobInfoCallback.on_job_end0   sB     'jX-doo.H-IJKr   r;   r<   c                     UR                  SSS9  Uc   e[        [        X2-  5      S5       n[        R                  " XSS9  S S S 5        g ! , (       d  f       g = f)NT)parentsexist_okwb   )protocol)mkdiropenstrpickledump)r   r;   r<   r6   files        r   r@   "PickleJobInfoCallback._save_pickle8   sO    5%%%#j+,d3tKKA. 433s   A
A)r   r6   r,   )r   r-   r.   r/   r0   r   __annotations__r   r   r   rA   r   r*   rM   r@   r1   r2   r   r   r4   r4      sz    XNM: M M ML L.7LCFL	L/ /s / / /r   r4   )r   rN   pathlibr   typingr   	omegaconfr   hydra.core.utilsr   r   hydra.experimental.callbackr   r
   r4   r2   r   r   <module>rX      s6          1 0H8 H"/H /r   