
    #`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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  Zedz  Zedz  Zedz  Zed	z  Zed
z  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j"         e                        dS # e#$ r9Z$ e%d e&e$          z   ej'                    ej"        d           Y dZ$[$dS dZ$[$ww xY wdS )    N)datetimetimezone)Path   zstory/promotion.jsonzaudio/intro-voice-source.txtz#audio/intro-voice-pronunciation.txtz log/intro-tts-pronunciation.jsonz!script/pronunciation-lexicon.jsonz#script/workflow-copy-authority.jsonzaudio/intro-voice.wavzaudio/intro-full.wavzlog/intro-voice.jsonzhttp://192.168.40.33:7862zngoc-huyen-vbeec                    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)handles   /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/render-intro-voice.py<lambda>zsha.<locals>.<lambda>   s    &++o">">     r   )hashlibsha256openiterupdate	hexdigest)pathdigestblockr   s      @r   shar      s    ^F	4 !F>>>>DD 	! 	!EMM%    	!! ! ! ! ! ! ! ! ! ! ! ! ! ! ! s   ,A##A'*A'c           	         t          j        t          |           d          5 }|                                |                                |                                |                                |                                |                                |                                z  dcd d d            S # 1 swxY w Y   d S )Nr   )channelssample_widthsample_rateframescompressionduration_seconds)waver   strgetnchannelsgetsampwidthgetframerate
getnframesgetcomptype)r   r   s     r   wav_infor'   #   sY   	3t99d	#	# Ev"//116CVCVCXCXioi|i|i~i~  KQ  K\  K\  K^  K^  ou  oA  oA  oC  oC  Y_  Yj  Yj  Yl  Yl  ou  oB  oB  oD  oD  YD  E  EE E E E E E E E E E E E E E E E E Es   B
B::B>B>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BASEjsonload)r   responses     r   get_jsonr3   (   s    			tR		8	8 #Hy""# # # # # # # # # # # # # # # # # #s   AAAc                     |                      | j        dz             }|                    t          j        |dd          dz   d           t          j        ||            d S )Nz.partF   )ensure_asciiindent
utf-8encoding)	with_namename
write_textr0   dumpsosreplace)r   valuetemps      r   atomic_jsonrD   -   s_    >>$)g-..DOODJu5CCCdJU\O]]]JtTr   c                     t           t          t          t          t          t
          fD ](} |                                 st          d|            )t          j	        t           
                    d                    }t          j	        t          
                    d                    }|                    d          }|                    d          du |                    d          du |                    d          dk    |                    d	          |k    |                    d
          t          t                    k    |                    d          t          t                    k    |                    d          t          t                    k    |                    d          du |                    d          du |                    d           f
}t          |          st          d          t                                          r`t                                           rFt"                                          r,t          j	        t          
                    d                    }|                    d          du r|                    d          dk    r|                    d	          |k    r|                    d          t          t                    k    r|                    d          t          t                     k    r`|                    d          t          t"                    k    r5t%          t          j        dd|d         d         dd                     dS t)          d          }t)          d                              dg           }t+          d |D             d           }|                    d          dk    s0|r.|                    d           dus|                    d!          durt          d"          t,          j                            t          
                    d          t2          d#                              d          }	t,          j                            t:          d$z   |	d%d&id'(          }
t,          j                            |
d)*          5 }|                                }d d d            n# 1 swxY w Y   tA          |          d+k     s|d d,         d-k    s|d.d/         d0k    rt          d1          t           j!        "                    dd2           t           #                    d3          }|$                    |           tK          |          }|d         dk    s|d4         d5k    r%|&                    d6           t          d7          tO          j(        |t                      tS          j*        tW          t                     d8          5 }|,                                }|-                    |.                                          }d d d            n# 1 swxY w Y   t"          #                    d3          }d9t_          |j0        d:z            z  |j1        z  |j2        z  }tS          j*        tW          |          d;          5 }|3                    |           |4                    |           |4                    |           d d d            n# 1 swxY w Y   tO          j(        |t"                     tK          t"                    }i d<d=ddddd	|d>t          t
                    d?tW          t          5                    tl                              d
t          t                    d@tW          t          5                    tl                              dt          t                    dAtW          t          5                    tl                              dBt          t                    dCt          t                    dDt2          dEt:          dFtW          t           5                    tl                              dt          t                     dG|tW          t"          5                    tl                              t          t"                    |d:to          j8        tr          j:                  ;                                dH}ty          t          |           t%          t          j        d|d         |d         |d         dId                     dS )JNzmissing r9   r:   canonical_sha256verifiedTkindintrosource_canon_sha256source_sha256projection_sha256lexicon_sha256reverse_verifiedsemantic_content_changedFunresolved_requiredz&intro pronunciation authority mismatchstatus	completedoutput_sha256full_output_sha256full_wavr   )rG   reusedr   )r6   r   z/healthz/voicesvoicesc              3   V   K   | ]$}|                     d           t          k     |V  %dS )idN)get
VOICE_NAME).0items     r   	<genexpr>zmain.<locals>.<genexpr>O   s6      HH488D>>Z+G+G+G+G+G+GHHr   okmodel_existsconfig_existsz intro TTS capability gate failed)textvoicez/ttszContent-Typez!application/x-www-form-urlencodedPOST)dataheadersmethodi,  r*   ,      s   RIFF      s   WAVEzintro TTS response is not WAV)parentsexist_okz	.part.wavr   NONE)
missing_okz#intro voice WAV verification failedr       g       @wbversionr   workflow_copy_authority_sha256source_pathprojection_pathpronunciation_receiptpronunciation_receipt_sha256pronunciation_lexicon_sha256rc   base_urloutputwav)full_outputrT   rU   silence_seconds
checked_at)rG   r   rS   rT   )=	PROMOTIONSOURCE
PROJECTIONPRONUNCIATIONLEXICONWORKFLOW_COPYis_fileRuntimeErrorr0   loads	read_textrZ   r   allRECEIPTexistsVOICEFULLprintr?   r3   nextr,   parse	urlencoder[   encoder-   Requestr/   r.   r
   lenparentmkdirwith_suffixwrite_bytesr'   unlinkr@   rA   r    r   r!   	getparams
readframesr%   int	framerate	nchannels	sampwidth	setparamswriteframesrelative_toPROJECTr   nowr   utc	isoformatrD   )r   	promotionpronunciationcanonchecksoldhealthrW   rowbodyr-   r2   re   rC   infosourceparamsr   	full_tempsilencetarget	full_inforeceipts                          r   mainr   3   s}   FJwV 2 2||~~ 	20$00111	2
9...@@AAIJ}666HHIIMMM,--Ej!!T)*%%-&!!W,/00E9/**c&kk9-..#j//A*++s7||;,--5455>3444F v;; ECDDD~~ ELLNN t{{}} j**G*<<==77:$&&3778+<+<+K+KPSPWPWXmPnPnrwPwPw|  }D  }D  EX  }Y  }Y  ]`  ak  ]l  ]l  }l  }l  qt  qx  qx  yH  qI  qI  MP  QV  MW  MW  qW  qW  \_  \c  \c  dx  \y  \y  }@  AE  }F  }F  \F  \F$*$$TWXbTcdvTwxx  HM  N  N  N  O  O  O1i  Fi  $$Xr22F
HHHHH$
O
OCzz(t##3##''.2I2IQU2U2UY\Y`Y`apYqYqy}Y}Y}=>>><!!:+?+?+?+Q+Q\f"g"ghhoopwxxDn$$TF]X{G|  FL$  M  MG					5	5 }}              
4yy2~~bqbW,,QrT
g0E0E:;;;	Ltd333[))DTD>>D1$$](;v(E(Et$$$@AAAJtU	3u::t	$	$ 8!!##""6#4#4#6#6778 8 8 8 8 8 8 8 8 8 8 8 8 8 8   --IF,s2333f6FFIYYG	3y>>4	(	( $F   6"""7###$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ Jy$I ]y!  ]Z  ]x  ]F[]b  ]  eE  GJ  KX  GY  GY  ]  [h  jm  nt  n@  n@  AH  nI  nI  jJ  jJ  ]  L[  ]`  ag  ]h  ]h  ]  j{  }@  AK  AW  AW  X_  A`  A`  }a  }a  ]  cv  x{  |F  xG  xG  ]  I`  be  fs  f  f  @G  fH  fH  bI  bI  ]  Ki  kn  o|  k}  k}  ]  ]  _b  cj  _k  _k  ]  mt  v@  ]  BL  NR  ]  T\  ^a  bg  bs  bs  t{  b|  b|  ^}  ^}  ]  N	  P	S	  T	Y	  P	Z	  P	Z	  ]  \	a	  c	g	  ]  x	{	  |	@
  |	L
  |	L
  M
T
  |	U
  |	U
  x	V
  x	V
  n
q
  r
v
  n
w
  n
w
  EN  cf  v~  vB  CK  CO  vP  vP  vZ  vZ  v\  v\  ]  ]  ]G!!!	$*$IFX<Yls  uD  mE  ]d  ey  ]z  {  {  JO  P  P  P  Q  Q  Q1s7   9SS!S <YYY9A \\	\	__main__zIntro voice blocked: )file)(r   r0   r@   
subprocesssysurllib.parser,   urllib.requestr    r   r   pathlibr   __file__resolverl   r   r   r   r   r   r   r   r   r   r   r/   r[   r   r'   r3   rD   r   __name__exit	Exceptionexcr   r!   stderr r   r   <module>r      s     				     



          ' ' ' ' ' ' ' '      
$x..
 
 
"
"
*1
-,,		1	1<<
<<
7
7??))''
*
*"
  E E E
# # #
  ; ; ;| z   %C0szBBBB s   B8 8C6=.C11C6