
    J_j                        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 d dlm	Z	  ed          Z
e
dz  Ze                    dd           d Z eej                  Z e ej                    d	z                                            D ]\  ZZe                    ee           g d
Zd eD             Zer ede           ed                             d          Zded         iZd Zd Z ed          \  ZZedk    se                    d          dur ed           ed          \  ZZ  ee ddg          Z!ed         Z"ed         Z#e"e#hZ$d e!D             Z%d e%D             e$k    s e&d e%D                       r ed          d  e%D             Z'd! Z(d" e(e'e"                   vsd# e(e'e#                   vr ed$           e&d% e%D                       r ed&          e j         )                    e j*        j+                  Z)e) e j,        d'(          z   Z-ej.        /                    e)0                                1                    d)d*          e-0                                1                    d)d*          d+          Z2 ed,e2z             \  ZZ3 ee3d-dg          Z4d. e4D             Z5 e6e4           e6e5          z
  Z7e" e8            e# e8            iZ9e5D ]AZ: e;e:                    d/d0                    <                                Z=e=d1vr9e:                    d2          ZesQe>                    d*          r&e j         ?                    edd3         d)z             Z@nAe j         ?                    e          Z@e@jA         e@1                    e j*        j+        4          Z@e9e:                    d5          pi                     d6                   B                    e@C                    e j*        j+                  1                    d 7                     C e	ed8                   ZDg ZEed9         F                    d:          D ]MZ eGeHeI                                F                    d;                    \  ZJZKeEL                    eJeKf           Ne)C                    eD          ZMdZN eOd<          D ]ZPeMQ                                 e j,        eP(          z   ZQ eReE          D ]~\  ZJZK e j         eQjS        eQjT        eQjU        eJeKeD4          ZVeVeMk    r1eVC                    e j*        j+                  1                    d 7          Z+e+e9e"         vre+e9e#         vreVe+fZN neNr neNs ed=          i ZWe$D ]zZX	  ed>ej.        Y                    eX          z             \  ZZZ e[eZe          reZ                    d?          ndeWeX<   S# e\$ r Z]d@ e^e]          j_         eWeX<   Y dZ][]sdZ][]ww xY wdAdBdCdDde)0                                dE e%D             eNd          0                                eNdA         0                                1                    d)d*          e" e6e9e"                   e# e6e9e#                   ie7eWdFZ`edGz  a                     ejb        e`dHdIJ          dKz               ec ejb        e`dHL                     dS )M    N)Path)ZoneInfozH/data/video-pipeline/HaTramAudio/project/019-Buc-Tuong-Giua-Hai-Ban-Congz)work/upload/run-20260721T065616Z-a7dbad2fT)parentsexist_okc                 d   i }|                                                                  D ]}|                                }|rn|                    d          sYd|v rU|                    dd          \  }}|                                                    d          ||                                <   |S )N#=   z"')	read_text
splitlinesstrip
startswithsplit)pathvaluesrawlinekeyvalues         /data/video-pipeline/HaTramAudio/project/019-Buc-Tuong-Giua-Hai-Ban-Cong/work/upload/run-20260721T065616Z-a7dbad2f/postiz_preflight.pyload_envr      s    F~~**,, = =yy{{ 	=,, 	=C++JC"'++--"5"5e"<"<F399;;M    z .config/ha-tram-audio/postiz.env)POSTIZ_BASE_URLPOSTIZ_API_KEYPOSTIZ_FACEBOOK_INTEGRATION_IDPOSTIZ_YOUTUBE_INTEGRATION_IDPOSTIZ_TIMEZONEPOSTIZ_SLOTSc                 F    g | ]}t                               |          |S  )envget).0r   s     r   
<listcomp>r$      s'    
7
7
73#''#,,
73
7
7
7r   zmissing required config: r   /Authorizationr   c                 
   t           j                            t          | z   t                    }t           j                            |d          5 }|j        t          j        |          fcd d d            S # 1 swxY w Y   d S )N)headers<   )timeout)	urllibrequestRequestbaser(   urlopenstatusjsonload)r   r,   responses      r   r"   r"   !   s    n$$TD['$BBG					4	4 4	( 3 334 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4s   A88A<?A<c                     t          | t                    r| S t          | t                    r7|D ]4}t          |                     |          t                    r
| |         c S 5g S )N)
isinstancelistdictr"   )datakeysr   s      r   itemsr:   &   sp    $ $ ! 	! 	!C$((3--.. !Cy   !Ir   z/is-connected   	connectedzPostiz is not connectedz/integrationsintegrationsr8   r   r   c                 J    g | ] }|                     d           t          v |!S idr"   targetsr#   xs     r   r$   r$   5   s,    >>>!quuT{{g'='=A'='='=r   c                 8    h | ]}|                     d           S r?   r"   rC   s     r   	<setcomp>rG   6   s"    """AAEE$KK"""r   c              #   D   K   | ]}|                     d           du V  dS )disabledTNrF   rC   s     r   	<genexpr>rJ   6   s4      4a4aSTQUU:5F5F$5N4a4a4a4a4a4ar   z'target integrations missing or disabledc                 :    i | ]}|                     d           |S r?   rF   rC   s     r   
<dictcomp>rL   8   s$    &&&aeeDkk!&&&r   c                     t          |                     d          p+|                     d          p|                     d          pd                                          S )N
identifierproviderIdentifierprovider )strr"   lower)rD   s    r   rP   rP   9   sT    AEE,//i1559M3N3NiRSRWRWXbRcRcigijjpprrrr   facebookyoutubez$target integration platform mismatchc              #   f   K   | ],}t          |                    d           pd          dk    V  -dS )namerQ   u   Hạ Trâm AudioN)rR   r"   rC   s     r   rJ   rJ   <   s?      HH!s155==B#55HHHHHHr   z target integration name mismatch   )daysz+00:00Z)	startDateendDatez/posts?postsc                 t    g | ]5}|                     d           pi                      d          t          v 3|6S )integrationr@   rA   )r#   ps     r   r$   r$   C   sA    RRR!}!5!5!; @ @ F F' Q QA Q Q Qr   staterQ   >   QUEUE	PUBLISHEDpublishDate)tzinfor_   r@   )microsecondr   r   ,:   zno common slot in 31 daysz/find-slot/datezerror:r
   z019-Buc-Tuong-Giua-Hai-Ban-Congzrun-20260721T065616Z-a7dbad2f	completedc                     g | ]O}|                     d           |                     d          t          |          |                     d          dPS )r@   rW   rI   )r@   rW   rP   rI   )r"   rP   rC   s     r   r$   r$   q   sb      J  J  J{|tAEE&MMXVW[[dedidijtduduvv  J  J  Jr   )schema_version
project_idrun_idr0   verified
checked_attarget_integrations
slot_localslot_utcoccupied_countsignored_other_integration_postsfind_slot_referencezpreflight.jsonF   )ensure_asciiindent
)rz   )ddatetimer1   osurllib.parser+   urllib.requestpathlibr   zoneinfor   ROOTWORKmkdirr   r7   environr!   homer:   r   r   
setdefaultrequiredmissing
SystemExitrstripr.   r(   r"   r0   r<   _raw_integrationsr=   fbytrB   selectedanybyidrP   nowtimezoneutc	timedeltaendparse	urlencode	isoformatreplacequery	raw_postsr]   filteredlenignoredsetoccupiedpostrR   upperra   endswithfromisoformatdtrf   add
astimezonetzslotsr   mapintr   hourminuteappend	local_nowchoicerange
day_offsetrk   sortedyearmonthdaylocal
find_slotsr_   quotebodyr5   	Exceptionexctype__name__receipt
write_textdumpsprintr    r   r   <module>r      s     				                    tVWW99 

4$
 ' ' '   d2:(949;;'IIJJPPRR  JCNN3 R  R  R
7
7(
7
7
7
 <
*:::
;
;;
$$S))C 01
24 4 4
   C(( 		S==IMM+..d::
*.
/
//c/** u%v'>??	)*5T1UBbdfhaiW^>>|>>>"""""g--4a4aX`4a4a4a1a1a-
*>
?
??&&X&&& r r rXXd2h''''9HHT"X<N<N+N+N
*;
<
<<3HHxHHHHH 9
*7
8
88H-122	HB''''S]]__-D-DXc-R-R_b_l_l_n_n_v_vw  AD  `E  `E   F   F  	G  	Gs9u$%%9i'&)**RRuRRR
#e**ss8}}
$ssuub y yDC$$%%++--E)))HH]##E ~~c :,,U3B3Z(-BCC,,U3398#4#899Bdhh}%%+00667;;BMM(J[J_<`<`<h<huv<h<w<wxxxxXc#$%%
 &&s++    E3sEKKMM//4455LD&	LL$vNN2		%)) 
 
J>>0h0jAAAADve}}  V!!$)DJtxVSUVVVIx0455==!=LLhrl""s(2,'>'>C[FEuu 2
*0
1
11
 @ @K@#mfl&8&8&E&EEFF46@jd6K6K"U$((6"2"2"2QU
; @ @ @"?4499+="?"?
;@ $EOn  yD  PT  be  bo  bo  bq  bq J  J  AI  J  J  J$$&&&)2E2E2G2G2O2OPXY\2]2]##hrl++Bss8B</@/@A&-J   " ":4:g5PQ#R#R#RSW#W X X X jdje,,, - - - - -s   AW((X-XX