
    B[j                        d dl mZ d dlmZmZmZ 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Z ed          e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i Z ed                                                                          D ]Ze                                rne                                                    d          sGdev rCe                    dd          \  ZZe                                                    d          ee<   ed                             d          Z ded         iZ!d Z"d Z#d Z$d Z%d Z&d Z'e(dk    r e'             dS dS )    )Path)datetime	timedeltatimezone)ZoneInfoNgacmai_20260718_075153z(/data/video-pipeline/GacMaiAudio/project	artifactsz,render/final_campaign_native_rev2_upload.mp4z,assets/images/intro_campaign_native_rev2.pngz)postiz_calendar_campaign_native_rev2.jsonzplatform_metadata.jsoncmriltjyk0013j7c8l7dp3o5icmrilrryn0011j7c8kfzgx9zqz/opt/OpenMontage/.env#=   z"'POSTIZ_BASE_URL/AuthorizationPOSTIZ_API_KEYc                    |                     dd          }t          d          D ]}t          j        | t          |z   ft
          |d|}n6# t          j        $ r$ |dk    r t          j        d|dz   z             Y Xw xY w|j	        dk     r|c S |j	        d	k    s|j	        d
k    rt          j        d|dz   z             t          |  d| d|j	         d|j        d d	                    t          d          )Ntimeouti     )headersr         r   i  i  i   z HTTP z: zrequest exhausted)poprangerequestsrequestBASEHRequestExceptiontimesleepstatus_codeRuntimeErrortext)methodpathkwr   nrs         o/data/video-pipeline/GacMaiAudio/project/gacmai_20260718_075153/artifacts/scripts/postiz_publish_native_rev2.pyreqr,      s(   		$		
(( N NQT	I!GIIbIIaa		"      dd5:a1gxx  ]3axxx]C1=#--djAaC.A.A.A(LLLLQ]LLafTcTlLLMMM'(((s   #A0A?>A?c           	      B   t          dd|                                                     dd          |                                                    dd          d                                          }|                    dt          |t                    r|ng           S )NGET/posts+00:00Z)	startDateendDate)paramsposts)r,   	isoformatreplacejsonget
isinstancelist)startendbs      r+   r5   r5      s    uX%//*;*;*C*CHS*Q*Q\_\i\i\k\k\s\st|  ~A  ]B  ]B  C  C  D  D  D  I  I  K  K  ST  SX  SX  Y`  fp  qr  sw  fx  fx  a@  ab  ab  ~@  SA  SA  LA    c                 R    t          j        |                     dd                    S )Nr1   r0   )r   fromisoformatr7   )ss    r+   instantrC      s     h,QYYs8-D-DEEEr?   c                 j    t                               t          j        | dd          dz              d S )NFr   )ensure_asciiindent
)REC
write_textr8   dumps)ds    r+   saverL      s/    CNN4:aU!DDDTIJJJJJr?   c           	      >   |                     di                                |i                                d          r|d         |         S | j        |                                 j        |t	          j        |                                                                           d|d<   t          |           | 	                    d          5 }t          ddd| j        ||fi	                                          }d d d            n# 1 swxY w Y   t          |t                    r*|                     d
|                     d|                    n|}t          |t                    r|d         }t          |t                    r*|                     d          r|                     d          st          d          |d         |d         | j        d|                    di           |<   |                    dd            t          |           |d         |         S )Nuploadsid)filenamesizemimesha256upload_in_progressrbPOSTz/uploadfile)filesoutputdatar   r'   zupload missing id/path)rO   r'   rP   )r9   namestatst_sizehashlibrS   
read_bytes	hexdigestrL   openr,   r8   r:   dictr;   r$   
setdefaultr   )r'   rR   reckeyfr>   qs          r+   uploadrh      sX   GGIbc"%%))$//Js9~c7J0J'+y		8KSWahaoptpp  qB  qB  bC  bC  bM  bM  bO  bO  P  P  QU  VY  QZ  QZ  QZ
iioo[S	1T@R8STTTYY[[1[[[[[[[[[[[[[[[&04&8&8?155!%%q//"""aq1q1To!%%++oQUU6]]oVnIoIoCo)*4&	TY#W#W	"c"X[X_X_`tuyXzXzXz{  AD  |E  |E  |E  MP  QZ  M[  \_  M`  F`s   /DDDc                    !"#$% t          j        t                                                    "t	          "fddD                       r"d         d         du sJ t          dd                                           } t          | t                    r| n)|                     d|                     d	g                     }d
 |D             }|t                   d         dk    rW|t                   d         dk    r@|t                                       d          s |t                                       d          rJ t          j        t          j                  }|t          d          z   }t!          |t          d          z
  |          }t#          d          }|                    |          }g }t'          d          D ]}	|t          |	          z                                   }
dD ]a\  }}t          |
j        |
j        |
j        |||                              t          j                  %%|k    r|                    %           bg }d $|D ]T%%fd|D             }|                    %                                                    dd          |d           |s%$ nU$sJ t6                                          r+t          j        t6                                                    nt:          di i d}|                    dt?          |          tA          d |D                       |$                                                    dd          $                    |                                          t          t          gd           tC          |           t'          d           D ]}t          ddd!"          j"        d#k    sJ  tG          tH          d$|d%          }tG          tJ          d&|d'          }t!          |t          d          z
  |          }$fd(|D             rJ $                                                    dd          }
d)|
dg d*t          i"d+         |gd,gd"d-         d.d/|d0 "d1         D             d2d3gd4}d)|
dg d*t          i"d5         |gd,gdd6d7d3gd4}t          |ft          |ffD ]\  !}|                    d8i                               !i                               d9          rD!$fd:t!          |t          d          z
  |          D             }|rQ|d;                             d*          |d;                             d<          d=d>|d8         !<   tC          |           t          d?d@|A                                           }t          |t                    r|n)|                    dB|                    d	|                    }t          |t                    r|n|g}tM          dC |D             d           }|sJ |                    d*          p|                    dD          |                    d<          p|                    dE          |dF|'                    d8i           !<   tC          |           t!          |t          d          z
  |          }g }t          dft          dffD ]\  !}|d8         !         }|d9         #t          ddG# dH                                           }tM          #fdI|D             d           } |                    ||| dJ           |g k    r|                    dK!            | rltQ          |                     dL                    $k    sF|                     dM          dNk    s-|                     dOi                               d*          !k    r|                    dP!            |sdQndR|dS<   ||dT<   tC          |           |rtS          tU          |                    tW          t          j,        dQ|
dU |d8         -                                D             |dV         dWdX                     d S )YNc              3   8   K   | ]}d          |         du V  dS )gatesTN ).0kmetas     r+   	<genexpr>zmain.<locals>.<genexpr>$   sI        .l  .l1d7mA.>$.F  .l  .l  .l  .l  .l  .lr?   )title_formatyoutube_completefacebook_adapted
tags_validcurrent_project_onlyrk   inherited_metadataFr.   z/integrationsintegrationsrZ   c                      i | ]}|d          |S )rO   rl   rm   xs     r+   
<dictcomp>zmain.<locals>.<dictcomp>%   sO      Ic  Ic  Ic  XY  JK  LP  JQ  RS  Ic  Ic  Icr?   
identifieryoutubefacebookdisabled   )daysr   )hourszAsia/Ho_Chi_Minh   ))	      )   r   )tzinfoc                 ,   g | ]}|                     d i                                d          t          t          fv 9|                     d          Nt          |d                   k    g|                     d i                                d          S integrationrO   publishDater9   YTFBrC   )rm   prz   s     r+   
<listcomp>zmain.<locals>.<listcomp>.   s      c  c  ca155r;R;R;V;VW[;\;\acdf`g;g;glmlqlqr  mA  mA;g  FM  NO  P]  N^  F_  F_  ab  Fb  FbmB##D))  Fb  Fb  Fbr?   r0   r1   )utcbusyu   Đường Nước Trở Về)
project_idtitlerN   channelscalendar_selectedc              3      K   | ]=}|                     d i                                d          t          t          fv 9dV  >dS )r   rO   r   N)r9   r   r   )rm   r   s     r+   rp   zmain.<locals>.<genexpr>3   s        _`  _`efrsrwrw  yF  GI  sJ  sJ  sN  sN  OS  sT  sT  Y[  \^  X_  s_  s__`  s_  s_  s_  s_  _`  _`r?   )statustotal_api_poststarget_match_count
candidatesslot_utc
slot_localintegration_idsr      )r      z	video/mp4videoz	image/png	thumbnailc                     g | ]i}|                     d i                                d          t          t          fv 9|                     d          Nt          |d                   k    g|jS r   r   )rm   r   slots     r+   r   zmain.<locals>.<listcomp>8   s      5t  5t  5t1}]_I`I`IdIdeiIjIjoqrtnuIuIuz{zz  AN  {O  {OIu  T[  \]  ^k  \l  Tm  Tm  os  Ts  TsQ  Ts  Ts  Tsr?   schedulerO   youtube_description)contentimageyoutube_titlepublicnoc                     g | ]}||d S ))valuelabelrl   ry   s     r+   r   zmain.<locals>.<listcomp>9   sO      UJ  UJ  UJ  pq  _`  ij  Vk  Vk  UJ  UJ  UJr?   youtube_tags)__typer   typeselfDeclaredMadeForKidsr   tags)r   r   settings)r   date	shortLinkr   r5   facebook_captionpost)r   	post_typer   post_idc                     g | ]_}|                     d i                                d          k    /|                     d          Dt          |d                   k    ]|`S r   )r9   rC   )rm   r   cidr   s     r+   r   zmain.<locals>.<listcomp>=   s      	^  	^  	^q}R9P9P9T9TUY9Z9Z\_9_9_dedidijwdxdx9_  ~E  FG  HU  FV  ~W  ~W  Y]  ~]  ~]  ~]  ~]  ~]r?   r   groupT)r   group_id	recoveredrV   r/   )r8   rY   c              3      K   | ]E}t          |t                    |                    d           s|                    d          A|V  FdS )rO   postIdN)r:   rb   r9   ry   s     r+   rp   zmain.<locals>.<genexpr>?   s        al  al  hi  t~  @  AE  tF  tF  al  LM  LQ  LQ  RV  LW  LW  al  [\  [`  [`  ai  [j  [j  al  bc  al  al  al  al  al  alr?   r   groupId)r   r   responsez/posts/z/missingc              3   N   K   | ]}|                     d           k    |V   dS )rO   N)r9   )rm   r   pids     r+   rp   zmain.<locals>.<genexpr>D   s        hN  hNno|}  }B  }B  CG  }H  }H  JM  }M  }Mhi  }M  }M  }M  }M  hN  hNr?   )missingproviderreadbackzmissing r   stateQUEUEr   z	readback passedfailedr   errorsc                 8    i | ]\  }}||d          |d         dS )r   r   )r   r   rl   )rm   rn   vs      r+   r{   zmain.<locals>.<dictcomp>J   sM      AY  AY  AYy|yz{|aPYlfghrfsCtCt  AY  AY  AYr?   rN   )r   r   r   rN   )rE   ).r8   loadsMETA	read_textallr,   r:   r;   r9   r   r   r   nowr   r   r   r5   r   
astimezoner   r   yearmonthdayappendr6   r7   rH   existsPupdatelensumrL   r#   rh   VIDEOTHUMBnextrc   rC   r$   strprintrJ   items)&integr   imapr   r=   livetzlocalcandsr   r   hhmmoccr   rd   _r   thumblive2ytfbpayloadpriorr>   outarrrg   live3r   r   r   foundr   ro   r   r   rz   s&                                    @@@@@r+   mainr   #   sf   
j!!""#  .l  .l  .l  .l  Qk  .l  .l  .l  +l  +l  $]  qu  v}  q~  S  qT  X]  q]  q]  q]  q]
5!!&&((
58N8N  0CuuTYT]T]^lmrmvmvw}  A  nB  nB  UC  UC  Ic  Ic  ]b  Ic  Ic  Ic  DH  ko  pr  ks  t@  kA  CL  kL  kL  QU  VX  QY  Zf  Qg  is  Qs  Qs  |@  AC  |D  |H  |H  IS  |T  |T  Qs  ]a  bd  ]e  ]i  ]i  jt  ]u  ]u  Qs  Qs  Qs\(,C	r(:(:(:$:c)Z[J\J\J\F\]`@a@a4em  oA  fB  fBbd  IL  IW  IW  XZ  I[  I[  CH  bd  \a"II  SiS!!!!''))$  ebdi
48Br<<<GGUU1eeELLOOO T
  Q c  c  c  c4  c  c  c$**AKKMM))(377tDDEEE	1dUU$'JJLL  ITZ   ANlwy  FH  7I  7I)CII[^  _`  _`jn  _`  _`  _`  \`  \`  nq  }A  }K  }K  }M  }M  }U  }U  V^  _b  }c  }c  qu  q@  q@  AC  qD  qD  qN  qN  qP  qP  df  gi  cj  k  k  l  l  l  mq  ru  mv  mv  mv
((PPQ#eOB???KSPPPPPeKG,,6%CP[3\3\US####C((  5t  5t  5t  5t  5t  5t  5t  *t  *t  *t
nnx,,
$[`hj  EI  JL  DM  bf  g|  b}  GL  FM  WN  WN  VO  en  w{  |K  wL  T\  w{  HM  UJ  UJ  uy  zH  uI  UJ  UJ  UJ  [K  [K  uL  uL  tM  1N  1NR  Zd  lp  }B  JL  fj  km  en  CG  HZ  C[  ej  dk  xl  xl  wm  C	M	  Z	`	  ya	  ya	  Vb	  Vb	  Uc	  Rd	  Rd	  OQWbW% U U[SWWZB''++I66?x 	^  	^  	^  	^  	^E#ia000055  	^  	^  	^%
  D58<<+=+=qV]I^I^ko p p3z?3quvyqzqzqz  |DxW%%%**,,!j46H6H1maeeT\]^]b]bcijk]l]lNmNmS  zD  EH  IM  zN  zN  sYruru  UX  TYnq  \`  al  al  mp  al  al  al  mq  \r  \r  Z[  z{  s{  s{  s{01d0NquuXZ[Z_Z_`gZhZhZ|lmlqlqr{l|l|  IJ  &K  &K#..B$  LP  QT  LU  LU  LU  LUS####C(()nb_5 h h\S
OC!Qy\#e<Sc<S<S<S2T2T2Y2Y2[2['bf  hN  hN  hN  hNsx  hN  hN  hN  OS  cT  cT\a((gUCCDDDb[[/#//000	  h'%))M2233T99UYYw=O=OQX=X=X\a\e\efstv\w\w\{\{  }A  ]B  ]B  DG  ]G  ]G  HN  HU  HU  Vg  be  Vg  Vg  Hh  Hh  Hh%3xx8X&CMc
*c&kk***tzH  AY  AY  AD  EO  AP  AV  AV  AX  AX  AY  AY  AY  dg  hq  dr  s  s  AF  G  G  G  H  H  H  H  Hr?   __main__))pathlibr   r   r   r   zoneinfor   r8   r^   r   r!   osr   RAr   r   rH   r   r   r   valsr   
splitlineslinestriplstrip
startswithsplitrn   r   rstripr   r   r,   r5   rC   rL   rh   r   __name__rl   r?   r+   <module>r	     sm         0 0 0 0 0 0 0 0 0 0       $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $TT"LMMaO1RST_R_PQfg  iW  gW`e  ^_  `N  ^N  X]  ST  U@  S@  OR  FG  H`  F`  AE  d  ac  C^  @BD())3355@@BB 7 7DJJLL 711#66 73$;;
jjQ#!A		 6 6Q	
##C((ODAQ<R+S
) 
) 
)A A A E E E J J J` ` `'H 'H 'HP Zr?   