
    D\j                      @   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mZ d dl	m
Z
  e
e                                          j        d         Zedz  edz  edz  dd	d
edz  edz  edz  ddd
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/footage-submission.jsonzlog/footage-job.jsonzoutput/footage/footage.mp4zhttp://192.168.1.104:8022z /v1/footage-render-huyenan/jobs/)
submissionreceiptoutputbasepathzlog/final-submission.jsonzlog/final-render.jsonzoutput/final.mp4zhttp://192.168.1.104:8023z/v1/huyenan-render-final/jobs/)footagefinalc                     t           j                            | d          5 }t          j        |          cd d d            S # 1 swxY w Y   d S )N   )timeout)urllibrequesturlopenjsonload)urlrs     script/poll-render-job.pygetr      sb    nS,,E1EEEEEEEEEEEEEEEEEEs   AA
A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    )hashlibsha256openiterupdate	hexdigest)r   hbr   s      @r   shar)   	   s    
>
iioo <****3//;;a;< < < < < < < < < < < < < < <	s   ,A##A'*A'c                     t          j        t          j        dddddddddt	          |           g
d	d	d	
          j                  S )Nffprobez-verrorz-show_entrieszformat=duration,sizez9stream=index,codec_name,width,height,sample_rate,channelsz-ofr   T)capture_outputtextcheck)r   loads
subprocessrunstrstdout)r   s    r   prober5      s    tz*.)DYop  A|  }B  CI  JM  NR  JS  JS  2T  dh  nr  y}  #~  #~  #~  #E  F  F  Fr    c                  h   t          t          j                  dk    rt          j        d         nd} t                              |           }|st          d          t          j        |d                                                   }|d         }|d         }t          d          D ]P}t	          |d         |d	         z   |z             }|                    d
          dv r n$t          j        d           Qt          d          |                    d
          dk    s+|                    di                               d          dur=t          |  d|                    d
           d|                    d                     |d         }t          |          }|                    dg           }	d |	D             }
d |	D             }t          |
          dk    ot          |          dk    ow|
d                             d          dk    oX|
d                             d          |
d                             d          fdk    o|d                             d          dk    }| d k    r<|o9|d                             d!          du o|d                             d"          du }d||||d
         |d         |d	         z   |z   |d         t          |                    t                               t#          |          |t%          j        t(          j                                                  d#}|d$                             t          j        |d%d&'          d(z              t3          t          j        | |||d)         d*         |d)         d+         d,d%-                     |rdndS ).Nr    z'usage: poll-render-job.py footage|finalr   job_idsource_canon_sha256i  r
   r   status>   failed	cancelled	completed
   zPoll timeout; resume same jobr=   verificationverifiedTz job ended z: r,   r	   streamsc                 <    g | ]}|                     d           |S )widthr   .0xs     r   
<listcomp>zmain.<locals>.<listcomp>   s-    HnHnHnq_`_d_del_m_mHnHnHnHnr    c                 <    g | ]}|                     d           |S )sample_raterD   rE   s     r   rH   zmain.<locals>.<listcomp>   sc      r^  r^  r^xy  IJ  IN  IN  O\  I]  I]  r^rs  r^  r^  r^r    r   
codec_nameh264rC   height)i  i8  aacr   mirror_appliedsource_audio_discarded)versionr@   r9   r8   r:   endpointserver_verificationr	   output_sha256r5   
checked_atr   F   )ensure_asciiindent
formatdurationsize)kindr@   r8   r[   bytes)rW   )lensysargvCONFIGSr   
SystemExitr   r0   	read_textrangetimesleepRuntimeErrorr5   r3   relative_toPROJECTr)   r   nowr   utc	isoformat
write_textdumpsprint)r]   csubr8   canon_jobr	   datarA   var@   r   s                 r   mainry      sZ   ]]1__chqkk"w{{4/@/@Q	E
DEE
E	Z,))++,,CMVLaHb%
** : :Q	!F)AfI
f
$%%#WWX<<<UU*R....8999GGH{""cggnR&@&@&D&DZ&P&PX\&\&\cosw  ql  ql  EH  EL  EL  MU  EV  EV  ql  ql  Z]  Za  Za  bi  Zj  Zj  ql  ql  dm  dm  ^m	(vDtxx	"/E/EwHnHnT[HnHnHna  r^  r^  ~E  r^  r^  r^op
a&&!)  _A	  _adhh|&<&<f&D  _!A$((SZJ[J[\]^_\`\d\dem\n\nIoq|I|  _  BC  DE  BF  BJ  BJ  KW  BX  BX  Z_  B_)OOX  Z#n*=*A*ABR*S*SW[*[  Z`cdr`s`w`w  yQ  aR  aR  VZ  aZHv_bck_lxy  {A  yB  CD  EK  CL  yL  MS  yS  jm  n|  j}  GJ  KQ  K]  K]  ^e  Kf  Kf  Gg  Gg  x{  |B  xC  xC  LP  ^f  ^j  ks  kw  ^x  ^x  ^B  ^B  ^D  ^D  
E  
E9GaHHHMNNNuUYU_hl  yA  KQ  ]a  bj  ]k  lv  ]w  @D  EM  @N  OU  @V  aW  aW  ej  Vk  Vk  Vk  Pl  Pl  Pl  yA  tH  tu  tu  GH  mHr    __main__)r!   r   r1   r`   rf   urllib.requestr   r   r   pathlibr   __file__resolveparentsrj   rb   r   r)   r5   ry   __name__exit r    r   <module>r      s   6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 & & & & & & & &      X  (+!()F!FQXYoQo  zA  B^  z^  fA  Ik  l  l  CJ  Kf  Cf  qx  yP  qP  Za  bt  Zt  |W  _  u@  u@  	A  	AF F F  
 F  F  FH H H Z(((((r    