
    aj                         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	 ed          Z
dZg ddfg ddfg d	d
fdZd Zd Zd Zd Zd Zd Zd Zedk    r e e                      dS )    )PathNzV/data/video-pipeline/HaTramAudio/project/030-Nguoi-Khong-Co-Ten-Trong-Danh-Sach-So-Tanzrun-20260722T163045Z-9f2c6fbf)zhttp://192.168.1.104:8022zhttp://192.168.1.104:8025zhttp://192.168.1.104:8028zhttp://192.168.1.104:8031z/v1/footage-render-huyenan/jobs)zhttp://192.168.1.104:8023zhttp://192.168.1.104:8026zhttp://192.168.1.104:8029zhttp://192.168.1.104:8032z/v1/huyenan-render-final/jobs)zhttp://192.168.1.104:8024zhttp://192.168.1.104:8027zhttp://192.168.1.104:8030zhttp://192.168.1.104:8033z!/v1/huyenan-transcode-upload/jobs)footagefinal	transcodec                      t           j                             t           j        j                                                  S )N)datetimenowtimezoneutc	isoformat     work/render/run_pool_job.pyr	   r	      s*    "&&x'8'<==GGII
Ir   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    qvve}} r   r   )hashlibsha256openiterupdate	hexdigest)phbr   s      @r   shar      s    
>ffTll 6a$$$$S))55a!((1++++56 6 6 6 6 6 6 6 6 6 6 6 6 6 6	s   ,A##A'*A'c                     | j                             dd           |                     d          }|                    t	          j        |dd          dz              t          j        ||            d S )NT)parentsexist_okz.tmpF   )ensure_asciiindent
)parentmkdirwith_suffix
write_textjsondumpsosreplace)r   oqs      r   atomicr1      s    d+++ammF.C.CAALLQUQ[\]kpxyQzQzQz{Q  EA  EA  EA  BD  BL  MN  OP  BQ  BQ  BQ  BQ  BQr   c                    t           j                            t           j                            | ddi          d          5 }t	          j        |                                          cd d d            S # 1 swxY w Y   d S )NAcceptapplication/json)headers   timeout)urllibrequesturlopenRequestr+   loadsr   )urs     r   getr@      s    nV^33AxHZ>[3\\eghh  Jlmuyu  AB  AG  AG  AI  AI  vJ  vJ  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  Js   &A66A:=A:c                 l   t          j        |d                                          }t          j                            | |ddid          }t          j                            |d          5 }|j        t          j        |	                                          fcd d d            S # 1 swxY w Y   d S )	NF)r$   zContent-Typer4   POST)datar5   method<   r7   )
r+   r,   encoder9   r:   r<   r;   statusr=   r   )r>   r   dr0   r?   s        r   postrI      s    :aU###**,,v~/E/EaQXfgyWz  CI/E  0J  0JQnQr**Taqx
16688@T@T7TTTTTTTTTTTTTTTTTTTs   /-B))B-0B-c                    t          | dz             }|                     d          dk    s|                     d          durdS t          | |z             }t          |t                    r|n|                     d          }t          |t                    st          d          |                     d	           ot	          d
 |D                        S )Nz/healthrG   ok
h264_nvencTFjobszunknown jobs enveloperunningc              3   D   K   | ]}|                     d           dv V  dS )rG   )queuedrN   N)r@   ).0xs     r   	<genexpr>zfree.<locals>.<genexpr>   s3      (`(`UVx<P)P(`(`(`(`(`(`r   )r@   
isinstancelistRuntimeErrorany)baserouter   jitemss        r   freer\      s    tI~EE(OOTQUU<00<<EEtEz??j400CaeeFmm55J\2I%J%JJEE)`S(`(`Z_(`(`(`%`%`!``r   c            
      	   t          j                    } |                     dt                     |                     dt          d           |                                 }t          |j                 \  }}t          dz  |j        z  }|dz  }|dz  }|d	z  }t          j	        |
                                          }|                    d
|          }	t          |	t                    sJ t          |          }
|                                rt          j	        |
                                          }|d         |
k    r|d         t           k    sJ |                    d          r|d         }|d         }nR|                    d          dv r,|                    d          r|                                 d }nt%          d          |                                r|?d }|B|D ]'}	 t'          ||          r|} n# t(          $ r Y $w xY w|t+          j        d           |Bt'          ||          st%          d          dt           |j        d|||
t/          |          t1                      d	}t3          ||           t5          ||z   |	          \  }}|                    d          p|                    d          }|st%          d          |                    |||                    dd          t1                      d           t3          ||           t9          t          j        d|j        ||d          d           	 t          ||z   dz   t/          |          z             }nV# t(          $ rI}t9          d t=          |          j        z   d           t+          j        |j                    Y d }~ud }~ww xY w|                    d          }|                    |t1                      d!           t3          ||           |d"v rt3          ||           |d#k    o*|                    d$i                               d%          du }|                    |t1                      d&           t3          ||           t9          t          j        |j        ||||d'          d           |rd(nd)S t+          j        |j                    )*Nstage)choicesz--poll   )typedefaultzwork/renderzrequest.jsonzintent.jsonzterminal.jsonr:   request_sha256run_idjob_idbase_urlrG   )ready_to_createreconciled_no_job_idverified_no_job_idzambiguous intent without job_id
   z!selected replica changed capacity030creating)	
project_idrd   r^   rG   rf   rY   rc   request_path
created_atidz(ambiguous create response missing job idaccepted)re   http_statusrG   accepted_atT)accepted_or_resumedr^   rf   re   )flush/z
transient )rG   last_polled_at)	completedfailed	cancelledrx   verificationverified)r|   terminal_at)r^   rf   re   rG   server_verifiedr      )!argparseArgumentParseradd_argumentCFGint
parse_argsr^   ROOTr+   r=   	read_textr@   rT   dictr   existsRUNunlinkrV   r\   	Exceptiontimesleepstrr	   r1   rI   r   printr,   ra   __name__poll)arR   basesrY   wreqintentterminalbundlepayloadrhirX   jobr   coderesr?   esrK   s                        r   mainr      s   Q^^GC^@@@PX^ajkAlAlAlopo{o{o}o}mn  KN  OP  OV  KW  J  D  EJ  Z^  _l  Zl  mn  mt  Zt  XY  yz  {I  yI  ux  QR  S`  Q`  JP  jk  l{  j{  ai  CG  CM  NQ  N[  N[  N]  N]  C^  C^  |B  gm  gq  gq  r{  |B  gC  gC  _f  KU  V]  ^b  Kc  Kc  Dc  Dc  Dc  gj  kn  go  go  df
MMOO =Jv!!""!!,<*=r*A*AakSVFVFVFVFVUU8__ =	*4!H+ccuuXDDDOcIdIdD	==???44;<<< y4<$  qQu"1dUU"TT
l4:b>>> 	 
d5		Q-P Q QQQWjTXafxz  KN  OR  KS  KS  ad  af  af  g  g!  hn  ou  vw  hx  hx  hxU
7##($s(9(9(JSWWT]]C	K< JKKK((StSWWXj5Q5Q`c`e`effggghnouvwhxhxhxtzagWZ[[\\cghhhhDJsN3s88#$$aa	cccl477+;;$GGGG
STSYHZHZHZ[c[c[c[c[ccEE(OO!AHHq#%%@@AAA&PQBRBRBR
,,,	(1K\AEE.,D,D,H,H,T,TX\,\b]^]e]ert  DG  DI  DI  gJ  gJ  ^K  ^K  ^K  LR  SY  Z[  L\  L\  L\  ]b  cg  cm  wx  w~  JN  X[  ef  y{  n|  n|  c}  c}  DH  ]I  ]I  ]I  ]I  VX  Q_  QR  QR  ^_  J_*QVs*   *G??
HH%M4 4
O>?OO__main__)pathlibr   r   r+   r   urllib.requestr9   r   r   r-   r   r   r   r	   r   r1   r@   rI   r\   r   r   
SystemExitr   r   r   <module>r      s         < < < < < < < < < < < < < < < < < < < < < < < < < < < <	T
bcc  iHdg B  B  B  Cd  e  o`  o`  o`  a@  nA  O@  O@  O@  Ad  Ne  f  f I I I  
Q Q QJ J JU U Ua a a  < Zjj000r   