
    W.j                        d dl m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mZmZmZ dZd	Zh d
Z G d de          ZdS )    )annotationsN)Path)Any)BaseAdapter)sanitize_autoshorts_status)ModuleIdModuleSnapshot
SourceTypeutcnowi,  i >
   .ass.jpg.mov.mp3.mp4.png.srt.wav.jpeg.webpc                  8    e Zd Zej        ZdZddZddZddZ	dS )AutoShortsLocalProbeAdapter
AutoShortsruntime_base
str | NonereturnNonec                    || _         d S )N)r   )selfr   s     X/home/agent/projects/Jarvis/apps/api-gateway/jarvis_gateway/adapters/autoshorts_probe.py__init__z$AutoShortsLocalProbeAdapter.__init__   s    (    r	   c                    t                      }|                     |                                          }t          |t          j        ||                    d                    S )Nerror)source_typelast_attempt_atr#   )r   _probe	timestampr   r
   LOCAL_PROBEget)r   nowraws      r   get_snapshotz(AutoShortsLocalProbeAdapter.get_snapshot   sO    hhkk#--//**)#:;Qcfnqnunuv}n~n~r!   now_tsfloatdict[str, Any]c                   | j         sdddddS t          | j                                                   }	 |                                r|                                sdddddS d}d}d}|                    d          D ]}|t          k    r nw	 |                                s%|j        	                                }|
                                }t          ||j                  }|d	v r|d
z  }|d
z  }v# t          $ r Y w xY w| p||z
  t          k    }	dt          |d          t          |d          dd|	rdn|rdnd|	rdnd|rdndt!          j        dt!          j        |p|                    d	S # t&          $ r
 dddddcY S w xY w)NFunknownz3AUTOSHORTS_RUNTIME_BASE is required for local_probe)	reachablepipeline_freshnesslast_pipeline_statusr#   zAutoShorts runtime base missingr   g        *>   .ready.failed.review.status   Ti  c   stalereviewidlefreshreview_needed	not_readyz%Y-%m-%dT%H:%M:%SZ)	r2   candidate_countpending_review_countready_preview_countfailed_pipeline_countr4   r3   publishing_status_categorylast_success_atautoshorts_local_probe_failed)r   r   
expanduserexistsis_dirrglobMAX_SCAN_ENTRIESis_filesuffixlowerstatmaxst_mtimeOSErrorSTALE_AFTER_SECONDSmintimestrftimegmtime	Exception)
r   r-   basetotallateststatus_markerschildrO   rQ   r<   s
             r   r&   z"AutoShortsLocalProbeAdapter._probe   s:     	l!&iaj  vk  l  l  lD%&&1133"	V;;== \ \%*)en  z[  \  \  \EFNC  ,,,E ==?? ! "\//11F ::<<D 77F!LLL&!+QJEE   HJI6F?6I"IE!#&uc??(+NB(?(?'()*38(d.>dhh^d16&CggGAO.`ooU`#'=1Et{SYSc]cGdGd#e#e
 
 
  	V 	V 	V!&iaj  vU  V  V  V  V  V	VsI   .E6 %*E6 C6$E6 %AC65E6 6
D E6 DA2E6 6F
	F
N)r   r   r   r   )r   r	   )r-   r.   r   r/   )
__name__
__module____qualname__r   
AUTOSHORTS	module_idtitler    r,   r&    r!   r   r   r      sg        #IE) ) ) )@ @ @ @
&V &V &V &V &V &Vr!   r   )
__future__r   rW   pathlibr   typingr   jarvis_gateway.adapters.baser   ,jarvis_gateway.adapters.autoshorts_sanitizerr   jarvis_gateway.contractsr   r	   r
   r   rM   rU   MEDIA_SUFFIXESr   rf   r!   r   <module>rn      s    " " " " " "              4 4 4 4 4 4 S S S S S S Q Q Q Q Q Q Q Q Q Q Q Q  ccc2V 2V 2V 2V 2V+ 2V 2V 2V 2V 2Vr!   