
    ^jl                     2   d dl Z d dlZd dlZd dlZd dlZd dlmZmZ d dlm	Z	  e	e
                                          j        d         Zedz  Zedz  Zedz  Zedz  Zed	z  Zed
z  ZdZd Zd Zd Zd Zedk    r ej         e                       dS dS )    N)datetimetimezone)Path   zlog/tts-verification.jsonzimage/layout-manifest.jsonzaudio/story-full.wavzimage/layout-1920x1080.pngzoutput/footage/footage.mp4zlog/footage-submission.jsonzhttp://192.168.1.104:8022c                    t          j                    }|                     d          5 t          fdd          D ]}|                    |           	 d d d            n# 1 swxY w Y   |                                S )Nrbc                  .                          d          S )Ni   )read)handles   script/submit-footage.py<lambda>zsha.<locals>.<lambda>   s    &++o">">     r   )hashlibsha256openiterupdate	hexdigest)pathdigestblockr   s      @r   shar      s    ^F	4 !F>>>>DD 	! 	!EMM%    	!! ! ! ! ! ! ! ! ! ! ! ! ! ! ! s   ,A##A'*A'c                     t          j        dddddddt          |           gddd	          }t          |j                                                  S )
Nffprobez-verrorz-show_entrieszformat=durationz-ofzdefault=nw=1:nk=1T)capture_outputtextcheck)
subprocessrunstrfloatstdoutstrip)r   results     r   durationr&      sw    ^YgHY[`buwz{  xA  xA  B  SW  ^b  jn  o  o  oF$$&&'''r   c                     t           j                            t          dz   | z   d          5 }t	          j        |          cd d d            S # 1 swxY w Y   d S )Nz /v1/footage-render-huyenan/jobs/   timeout)urllibrequesturlopenBASEjsonload)job_idresponses     r   get_jobr3   !   s    			11F:B 
  
 
 #	y""# # # # # # # # # # # # # # # # # #s   AAAc                     t                                           rKt                                          r2t                                          rt                                          st          dt          j                   dS t          j	        t           
                    d                    } t          j	        t          
                    d                    }|                     d          }|                     d          dus[|                    d          dusD|                    d	i                               d          dus|                    d          |k    rt          d
t          j                   dS t          t                    }t          t                    }t                                          r)t          j	        t          
                    d                    }|                    d          |k    sG|                    d          |k    s.|                    d          |k    s|                    d          st          dt          j                   dS t          |d                   }|                    d          }|dv r0t          t          j        |d         |d|dd                     dS t          d| dt          j                   dS t                                           rt          dt          j                   dS t"          j                            t(          dz   d          5 }t          j        |          }	d d d            n# 1 swxY w Y   |	                    d          dk    s|	                    d          durt          dt          j                   dS i dt-          t                    dd d!d"d#dd$t-          t                    d%t-          t                     d&d'd(dd)d*d+d,d-d.d/d0d1dd2d3d4d,d5dd6d7d8d9i}
t"          j                            t(          d:z   t          j        |
                                          d;d<id=>          }t"          j                            |d.          5 }t          j        |          }d d d            n# 1 swxY w Y   |                    d          }|r|                    d          d?vrt          d@t          j                   dS dd|||                    d          t(          t-          t                               t4                              |
||t7          t                    t9          j        t<          j                                                   dA}t          j!        "                    ddB           t          #                    t          j        |ddCD          dEz   d           t          t          j        ||                    d          |t-          t                    dFd                     dS )GNz7Footage blocked: verified TTS/layout inputs are missing)filer   zutf-8)encodingsource_canon_sha256verifiedT	visual_qaz/Footage blocked: TTS/layout canon hash mismatchlayout_sha256audio_sha256r1   zLFootage blocked: prior submission belongs to different authority/input bytesstatus>   queuedrunning	completed)r1   r<   resumedr7   F)ensure_asciir   z!Footage blocked: prior job ended z); inspect before a deliberate replacementzDFootage blocked: unreceipted output already exists; do not overwritez/health   r)   ok
h264_nvencz,Footage blocked: GPU endpoint is not healthylayoutfootage_dirz(/data/video-pipeline/GacMaiAudio/footagepatternz*.mp4	recursiveaudiooutputseedi2#  	overwritewidthi  heighti8  fpsr(   center_xi  center_ycenter_widthi`  center_heightvideo_encoderpresetp4cq   z/v1/footage-render-huyenan/jobszContent-Typezapplication/jsonPOST)dataheadersmethod>   r=   r>   z-Footage submission did not return a valid job)versionr8   r7   r1   r<   endpointrJ   payloadr:   r;   expected_duration_secondssubmitted_at)parentsexist_ok   )rA   indent
)r1   r<   r7   
submission)$TTSexistsLAYOUTAUDIOLAYOUT_IMAGEprintsysstderrr/   loads	read_textgetr   
SUBMISSIONr3   dumpsOUTPUTr+   r,   r-   r.   r0   r!   Requestencoderelative_toPROJECTr&   r   nowr   utc	isoformatparentmkdir
write_text)ttsrE   canonlayout_hash
audio_hashpriorjobr<   r2   healthr_   r,   r1   receipts                 r   mainr   (   s   ::<< v}} ellnn LL_L_LaLa GcjYYYYq
*S]]G]44
5
5CZ(('(::;;FGG)**E
wwz$&&&**Z*@*@*L*LPVPZPZ[fhjPkPkPoPopzP{P{  DH  QH  QH  LR  LV  LV  Wl  Lm  Lm  qv  Lv  Lv?cjQQQQql##KUJ 
:///AABBII+,,55yy))[88yy((J6699X&& 7 `gjgqrrrr1eHo&&""777$*h6VZsxyy  IN  O  O  O  P  P  P1c&cccjmjtuuuuq}} T[^[effffq			y 0"		=	= %8$$% % % % % % % % % % % % % % %zz(t##vzz,'?'?t'K'K<3:NNNNq	#l##	A	 	7	 (	 	U		 &s6{{		
 		
 "5	 		  	 (-b	 	C	 $Q	 )7	 >Md	 		 (0	 8<R	 	G n$$00Z  ''))NDV3W`f %  G 
				4	4 "i!!" " " " " " " " " " " " " " "WWXF SWWX&&.CCC=CJOOOOq%CGGH$5$54f((1122w$j%-e__ X\22<<>> G D4888$*W5KKKdR]deee	$*#''(2C2C\aqtu  rA  rA  B  B  QV  W  W  W  X  X  X1s$   
M++M/2M/$SS	S	__main__)r   r/   r   rn   urllib.requestr+   r   r   pathlibr   __file__resolverb   ry   rh   rj   rk   rl   ru   rs   r.   r   r&   r3   r   __name__exit r   r   <module>r      s=         



     ' ' ' ' ' ' ' '      
$x..
 
 
"
"
*1
-++	/	/((55	/	/44
"  ( ( (
# # #F F FR zCHTTVV r   