
    q\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                     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 }t          |                    d#          p6|                    d$i                               d%          p|d&         d%                   }t          |d&         d%                   }t          ||z
            }|o|d'k    }d||||d
         |d         |d	         z   |z   |d         t!          |                    t$                              t'          |          |||d(d)d*t)          j        t,          j                                                  d+}|d,                             t          j        |d(d-.          d/z              t7          t          j        | |||d&         d%         |d&         d0         d1d(2                     |rdndS )3Nr    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expected_duration_secondspayloaddurationformatg?Fpending)r@   r:   )versionr@   r9   r8   r:   endpointserver_verificationr	   output_sha256r5   rQ   duration_delta_seconds	visual_qa
checked_atr      )ensure_asciiindent
size)kindr@   r8   rS   bytes)r^   )lensysargvCONFIGSr   
SystemExitr   r0   	read_textrangetimesleepRuntimeErrorr5   floatabsr3   relative_toPROJECTr)   r   nowr   utc	isoformat
write_textdumpsprint)rb   csubr8   canon_jobr	   datarA   var@   expectedactualdeltar   s                    r   mainr      s   ]]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
344{	"8M8M8Q8QR\8]8]{aefnaopza{
|
|d8nZ())F8O0D0D%

"ud{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  mu  OT  mr  |E  aF  aF  T\  T`  ai  am  Tn  Tn  Tx  Tx  Tz  Tz  
{  
{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   re   rk   urllib.requestr   r   r   pathlibr   __file__resolveparentsrq   rg   r   r)   r5   r   __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    