
    
`j                         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d Zd Zd Zedk    r ej         e                       dS dS )	    N)datetimetimezone)Path   c                     t           | z  }|                                r&t          j        |                                          ni S )N)Pis_filejsonloads	read_text)relps     /data/video-pipeline/Chanel-HuyenAnAudio/project/016-Ngay-Chung-Toi-Nop-Don-Ly-Hon-Anh-Dua-Toi-Ban-Hon-Uoc-Khong-Con-Dieu-Khoan-Nao/script/validate-production.pyloadr      s5    S5%&YY[[8
1;;==!!!b8    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)r   hbr   s      @r   shar    	   s    
>ffTll <a****3//;;a;< < < < < < < < < < < < < < <	s   ,A##A'*A'c            
         i } dD ][\  }}t          j        t          j        t	          t
          dz  |z            gt
          t           j                  j        dk    | |<   \t          j        t          j        t	          t
          dz            dgt
          t           j                  j        dk    | d<   t          d          }|	                    d	          }|	                    d
          du o|t          t
          dz            k    | d<   dddddddddd	}d |                                D             }|                                D ]8\  }}|	                    d
          du o|	                    d          |k    | |<   9| d         oO|d         	                    d          dk    o0|d         	                    di           	                    d
          du | d<   | d         o3|d         	                    d          t          t
          d z            k    | d<   | d!         o|d!         	                    d          t          t
          d"z            k    oa|d!         	                    d#i           	                    d$          du o0|d!         	                    d#i           	                    d%          du | d!<   | d&         o3|d&         	                    d          t          t
          d'z            k    | d&<   | d(         o|d(         	                    d          t          t
          d)z            k    oUt
          d)z                                  j        d*k     o0|d(         	                    d#i           	                    d+          du | d(<   | d,         o3|d,         	                    d-          t          t
          d.z            k    | d,<   t          d/          	                    d
          du o#t          d/          	                    d0          du | d1<   t          d2          	                    d
          du o#t          d2          	                    d0          du | d3<   t          d4          	                    d
          du o:t          d4          	                    d          t          t
          d5z            k    | d6<   d7 |                                 D             }	d8|	 |	sd9nd:|| |	t          j        t           j                                                  d;}
t
          d<z                      t)          j        |
d=d>?          d@z              t-          t)          j        |
d
         t/          |                                           t3          |           |	dAd=B                     |
d
         rdnd8S )CN))familyzvalidate-family-causal.py)storyzvalidate-story.py)originalityzvalidate-originality.pyscript)cwdstdoutr   z script/validate-workflow-copy.pyfullworkflow_copyzstory/promotion.jsonspoken_narration_sha256verifiedTzstory/story-canon.txt	promotionzlog/tts-verification.jsonzlog/image-generation.jsonzlog/image-visual-qa.jsonzimage/layout-manifest-r2.jsonzlog/intro-render.jsonzlog/footage-job.jsonzlog/final-render.jsonzlog/upload-transcode.jsonzlog/metadata-verification.json)	ttsimageimage_qalayoutintrofootagefinal	transcodemetadatac                 4    i | ]\  }}|t          |          S  )r   .0kvs      r   
<dictcomp>zmain.<locals>.<dictcomp>   s$    ***SQqqa***r   source_canon_sha256r0   status	completed	visual_qar1   output_sha256zoutput/intro/intro.mp4r2   zoutput/footage/footage.mp4server_verificationmirror_appliedsource_audio_discardedr3   zoutput/final.mp4r4   zoutput/final-upload.mp4i ʚ;under_one_gbr5   info_sha256zoutput/info.txtzlog/tts-pronunciation.jsonreverse_verifiedpronunciationz log/intro-tts-pronunciation.jsonintro_pronunciationzlog/intro-voice.jsonzaudio/intro-voice.wavintro_voicec                     g | ]	\  }}||
S r7   r7   r8   s      r   
<listcomp>zmain.<locals>.<listcomp>   s!    ...sqA....r   r   passedfailed)versionr+   r>   r=   checksissues
checked_atz log/production-verification.jsonF   )ensure_asciiindent
)r+   rM   totalrQ   )rT   )
subprocessrunsys
executablestrr   DEVNULL
returncoder   getr    itemsstatst_sizer   nowr   utc	isoformat
write_textr
   dumpsprintsumvalueslen)rP   namer%   promocanonspecsrowsr:   rrQ   reports              r   mainrs      s	   
 E  x  x[T&  S]  Sa  cf  cq  ru  vw  x@  v@  AG  vG  rH  rH  bI  NO  Wa  Wi  Sj  Sj  Sj  Su  wx  Sx  FL  MQ  FR  FR#A>`<`8a8abh(ino  xB  xJ  K  K  K  V  XY  Y"##%))4M*N*NEchclclmwcxcx  }A  dA  dk  FK  MP  QR  Sj  Qj  Mk  Mk  FkvVaOb)2MYs  ~]  f}  H^  g~  Kf  rR  S  S**EKKMM***JJLLddSQq155#4#4#<#dG\A]A]_dAd"  PtH~'9'9('C'C['P  PUYZbUcUgUghstvUwUwU{U{  }G  VH  VH  LP  VPhT']%6%6%G%GQOgMgIhIh%h)$  [i)<)<_)M)MsSTUqSqOrOr)r  [w{  }F  xG  xK  xK  La  bd  xe  xe  xi  xi  jz  x{  x{  C  xC  [  HL  MV  HW  H[  H[  \q  rt  Hu  Hu  Hy  Hy  zR  HS  HS  W[  H[	bT']%6%6%G%GQOaMaIbIb%bK(  ET+->-B-B?-S-SUXYZ[tYtUuUu-u  E{|  ~W  |W  {]  {]  {_  {_  {g  hu  {u  E  z~  J  zK  zO  zO  Pe  fh  zi  zi  zm  zm  n|  z}  z}  AE  zE:&h4
+;+?+?+N+NPSTUVgTgPhPh+h
:;;??
KKtS  [X\]yXzXzX~X~  @R  YS  YS  W[  Y[#$FGGKKJWW[__   mdh  jL  eM  eM  eQ  eQ  Rd  ee  ee  im  em23377
CCtK  bPTUkPlPlPpPp  rA  QB  QB  DG  HI  Ja  Ha  Db  Db  Qb..fllnn...RXjrx  cGbjbj  G  ^c  ms  }C  QY  Q]  ^f  ^j  Qk  Qk  Qu  Qu  Qw  Qw  7x  7xv  z{  |^  z^  yj  yj  ko  ku  v|  JO  WX  kY  kY  kY  Z^  k^  y_  y_  y_  `e  fj  fp  }C  DN  }O  Y\  ]c  ]j  ]j  ]l  ]l  Ym  Ym  vy  z@  vA  vA  KQ  qR  qR  `e  ff  ff  ff  `g  `g  `g  tz  {E  tF  oM  op  op  LM  hMr   __main__)r   r
   rX   rZ   r   r   pathlibr   __file__resolveparentsr   r   r    rs   __name__exitr7   r   r   <module>r{      s    " " " " " " " " " " " " " " " " & & & & & & & &      $x.."1%9 9 9  
M M M$ Z(((((r   