
    	_j                        d dl mZ d dlZd dlZ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  ed          Zej        ZdZdZdZdZd	Zed
z  Zedz  Zedz  Zd Zd Zd Zd Zd Zd Zd Zedk    r e             dS dS )    )annotationsN)PathzH/data/video-pipeline/HaTramAudio/project/018-Hon-Uoc-Khong-Duoc-Phep-Yeuzrun-20260721T040505Z-cd9f944azoro@d12e1733f81bf173b5db789b0028a0be478d0d2e565c05a91e236c95cd33bd78@85b3a62e2a4a9e8f02566edaefce4970bc3bd0f687957989b2d8eb848b1d3d69zhttp://192.168.1.104:8023zlog/final-intent.jsonzlog/final-render.jsonzoutput/final.mp4c                     t           j                            t           j        j                                                                      dd          S )Nz+00:00Z)dtdatetimenowtimezoneutc	isoformatreplace     work/render/run_final.pyr   r      s5    11;;==EEhsSS
Sr   c                   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)fs   r   <lambda>zsha.<locals>.<lambda>
   s    qvvk** r   r   )hashlibsha256openiterupdate	hexdigest)phbr   s      @r   shar#      s    
>ffTll <a****3//;;a;< < < < < < < < < < < < < < <	s   ,A##A'*A'c                    | j                             dd           |                     | j        dz             }|                    t          j        |dd          dz              t          j        ||            d S )NT)parentsexist_okz.tmpF   )ensure_asciiindent
)	parentmkdirwith_suffixsuffix
write_textjsondumpsosr   )r    vqs      r   atomicr5      s    tT:::Q]]18TZ?=[=[1\]\h\himistu  DI  QR  jS  jS  jS  TX  jX  ]Y  ]Y  ]Y  Z\  Zd  ef  gh  Zi  Zi  Zi  Zi  Zir   c                    t           j                            t          | z   d          5 }t	          j        |          cd d d            S # 1 swxY w Y   d S )N   timeout)urllibrequesturlopenBASEr0   load)pathrs     r   getrA      sf    nT$Yr22Katy||KKKKKKKKKKKKKKKKKKs   AAAc                |    t          j        t          j        dddddddt	          |           gd	                    S )
Nffprobez-verrorz-show_entriesz[format=duration:stream=codec_type,codec_name,width,height,sample_rate,channels,r_frame_ratez-ofr0   T)text)r0   loads
subprocesscheck_outputstr)r    s    r   proberJ      su    DJz6	$w  `}  ~C  DJ  KN  OP  KQ  KQ  8R  X\   ]   ]   ]  ^  ^  ^r   c                 T   t          j        t          dz                                            } | d         | d         | d         | d         ft          t
          t          dfk    sJ t          t          dz            t          k    r t          t          dz            t          k    sJ d S )	Nz.ownership-lock.json
project_idrun_idownerstatusmain_session_pipelinezstory/story-canon.txtoutput/intro/intro.mp4)
r0   rF   ROOT	read_textPROJECTRUNOWNERr#   CANONINTRO)xs    r   guardrZ      s   :t**557788<QRS[Q\]^_f]ghijrhs@tw~  @C  DI  Ja  wb  Ab  Ab  Ab  Ab  jm  nr  sJ  nJ  jK  jK  MR  jR  jR  WZ  [_  `x  [x  Wy  Wy  {@  W@  W@  W@  W@  W@  W@r   c                 h   t                       t          j        t          dz                                            } | d         dk    r| d         r| d         du r
| d         du sJ t          | d                   }|                                t          d	z                                  k    rt          |          | d
         k    sJ t          	                                s2t          	                                st          	                                rJ t          d          }|d         dk    r
|d         du sJ t          t          dz            t          |          t          t                    ddddddd	}dt          t          dt           t"          | d
         d|t%                      d
}t'          t          |           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           p|                    d!          }|sJ |                    d"|t%                      d#           t'          t          |           	 t          d$|z             }	|	                    d          }
|
d%v rnt;          j        d&           A|
dk    rSt'          t          dt          t          |
d||	t%                      d'           t?          d(t          |
          z             |	                    d)i                               d          du r[t          |	d*                                                   t                                          k    rt          	                                sJ tA          t                    }d+ |d,         D             }d- |d,         D             }tC          |d.         d/                   }tC          t          j        t          d0z                                            d1                   }tE          |          tE          |          cxk    rdk    r|n ny|d2         d3         dk    rg|d2         d4         dk    rU|d2         d5         d6k    rC|d2         d5         d7k    r1|d2         d8         d9k    rtG          ||| d1         z   z
            d:k    sJ i d;dd<t          d=t          dd>ddd?dd |d@t           dAt"          dB| d
         dCddt          t                    d
t          t                    dDt          $                                j%        d1|dE|| d1         z   dFtG          ||| d1         z   z
            ||	t%                      dG}t'          t          |           tM          t          j        d>|||dD         |d
         dH                     d S )INzlog/footage-render.jsonrO   	completedverifiedmirror_appliedTsource_audio_discardedoutput_pathzoutput/footage/footage.mp4output_sha256z/healthok
h264_nvencrQ   r7   i  i8  p4   )	intro_video_pathfootage_video_pathoutput_video_pathfpswidthheightvideo_encoderpresetcq   
submittingF)
schema_versionrL   rM   rO   source_canon_sha256intro_sha256footage_sha256main_audio_path_sentr;   
created_atz/v1/huyenan-render-final/jobszContent-Typezapplication/jsonPOST)dataheadersmethod<   r8   job_idid	submitted)rO   r|   submitted_atz/v1/huyenan-render-final/jobs/)r\   failed	cancelled   )rq   rL   rM   rO   r]   r|   job	failed_atz
final job verificationoutputc                *    g | ]}|d          dk    |S )
codec_typevideor   .0rY   s     r   
<listcomp>zmain.<locals>.<listcomp>   sd      ND  ND  ND  UV  kl  my  kz  |C  kC  kC  OP  kC  kC  kCr   streamsc                *    g | ]}|d          dk    |S )r   audior   r   s     r   r   zmain.<locals>.<listcomp>   sd      G}  G}  G}  NO  de  fr  ds  u|  d|  d|  HI  d|  d|  d|r   formatdurationzlog/intro-render.jsonoutput_durationr   rj   rk   
codec_nameh264aacsample_rate48000g{Gz?rq   rL   rM   awaiting_visual_qatechnical_verifiedrr   rs   rt   ru   output_bytesexpected_durationduration_delta)rJ   r   rv   )rO   r|   r   bytesr   )'rZ   r0   rF   rR   rS   r   resolver#   INTENTexistsRECEIPTOUTrA   rI   rT   rU   rW   rX   r   r5   r:   r;   Requestr=   r1   encoder<   r>   r   timesleepRuntimeErrorrJ   floatlenabsstatst_sizeprint)r   footr!   payloadintentreqr@   createdjidr   stprr3   adintro_dreceipts                    r   mainr      s9   4:t55@@BBCC1X;XcKcKchijthuKcz{  }M  {N  RV  {V  {V  [\  ]u  [v  z~  [~  [~  [~  [~  DH  IJ  KX  IY  DZ  DZ  C  bf  bn  bn  bp  bp  sw  xT  sT  r]  r]  r_  r_  b_  b_  dg  hl  dm  dm  op  q@  oA  dA  dA  dA  dA  MS  MZ  MZ  M\  M\  BJ  el  es  es  eu  eu  BJ  ~A  ~H  ~H  ~J  ~J  BJ  BJ  BJ  MP  QZ  M[  M[  KL  cd  em  cn  pt  ct  ct  yz  {G  yH  LP  yP  yP  yP  yP &>!>??UXY]U^U^svwzs{s{  CE  NR  \`  q}  GK  QS  
T  
T#|jo  @E  WX  Yh  Wi  AF  QX  fi  fk  fk  	l  	l  ms  tz  {A  mB  mB  mB^D!@@djQXFYFYF`F`FbFblz  |N  lO  W]  ^  ^nS,,F$)A,,'FFFFFFFFFFFFFFF[[/gkk$//s


6==S^hk{~  |A  |A  JB  JB  <C  <C  <C  DJ  KQ  RX  DY  DY  DY	
*3
.//#37783D3D---e*Q--- OOF7QGUXbdpu  @C  JM  Z]  Z_  Z_  $`  $`  a  a  a  ht  uA  BE  FH  BI  BI  uI  hJ  hJ  bJr""&&z22d::tCM?R?R?Z?Z?\?\^a^i^i^k^k?k?kpspzpzp|p|?k?k?k  AF  GJ  AK  AK}  ND  ND  Z\  ]f  Zg  ND  ND  ND  LM  G}  G}  SU  V_  S`  G}  G}  G}  EF  @E  FH  IQ  FR  S]  F^  @_  @_  ~  hm  nr  nx  z~  V  zV  ya  ya  yc  yc  nd  nd  ev  nw  hx  hx  `g  @C  DE  @F  @F  HK  LM  HN  HN  @Q  @Q  @Q  @Q  PQ  @Q  @Q  @Q  @Q  @Q  VW  XY  VZ  [b  Vc  ei  Vi  Vi  no  pq  nr  s{  n|  ~B  nB  nB  GH  IJ  GK  LX  GY  [a  Ga  Ga  fg  hi  fj  kw  fx  z  f  f  DE  FG  DH  IV  DW  Y`  D`  D`  eh  ij  ls  tu  vG	  tH	  lH	  iI	  eJ	  eJ	  L	P	  eP	  eP	  eP	  eP	 
~
1  
~\'  
~(3  
~xH\  
~]ghm  
~  oC  DH  
~  IQ  RU  
~  Vk  lq  
~  r@  AF  
~  GW  XY  Zi  Xj  
~  kA  BG  
~  HU  VY  Z]  V^  V^  
~  _n  or  sv  ow  ow  
~  xF  GJ  GO  GO  GQ  GQ  GY  
~  Zk  lm  
~  nA  BI  JK  L]  J^  B^  
~  _o  ps  tu  w~  @  AR  S  wS  tT  pU  pU  
~  ^`  gj  x{  x}  x}  
~  
~  
~  E  FM  NU  V  V  V  W\  ]a  ]g  rF	  P	S	  _	`	  i	p	  q		  i	@
  J
Q
  R
a
  J
b
  hc
  hc
  ]d
  ]d
  We
  We
  We
  We
  We
s   7III__main__) 
__future__r   r   r
   r   r0   r2   rG   r   urllib.requestr:   pathlibr   rR   namerT   rU   rV   rW   rX   r=   r   r   r   r   r#   r5   rA   rJ   rZ   r   __name__r   r   r   <module>r      s   " " " " " " D D D D D D D D D D D D D D D D D D D D D D D D D D D D      	T
TUU^b^gV]  mLhk  SY  MR  `b  Z_  ik  ch  qL  lp  TX  Yp  Tp  MS  y}  ~U  yU  qx  Z^  _q  Zq  VY S S S  
 i  i  iL L L ^  ^  ^@ @ @e
 e
 e
 Zr   