§
    ;ýÅjw  ã                   óÎ   — d dl Z d dlZd dlZd dlmZ d dlmZ d dlmZ  e	ej
        d¦  «        r(	 ej
                             d¬¦  «         n# e$ r Y nw xY wd„ Zd	„ Zdd„Zd„ ZdS )é    N)ÚCredentials)Úbuild)ÚMediaFileUploadÚreconfigurezutf-8)Úencodingc                  óN   — t          j        d¦  «        } t          dd| ¬¦  «        S )Nz
token.jsonÚyoutubeÚv3)Úcredentials)r   Úfrom_authorized_user_filer   )Úcredss    ú*C:\Projects\Historical\youtube_uploader.pyÚget_youtube_servicer      s'   € ÝÔ1°,Ñ?Ô?€EÝ�˜D¨eÐ4Ñ4Ô4Ð4ó    c                 ó:  — t          ¦   «         }|||ddœd|                     ¦   «         dz   ddœdœ}t          | dd	¬
¦  «        }t          d|› d|› d�¦  «         |                     ¦   «                              d                     |                     ¦   «         ¦  «        ||¬¦  «        }d }	|	€P|                     ¦   «         \  }
}	|
r5t          dt          |
 
                    ¦   «         dz  ¦  «        › d�¦  «         |	®Pt          d|	d         › �¦  «         |	d         S )NÚ27)ÚtitleÚdescriptionÚtagsÚ
categoryIdÚprivateÚZF)ÚprivacyStatusÚ	publishAtÚselfDeclaredMadeForKids)ÚsnippetÚstatuséÿÿÿÿT)Ú	chunksizeÚ	resumableu   Ä�ang upload video: u    (LÃªn lá»‹ch: ú)ú,)ÚpartÚbodyÚ
media_bodyu   Upload tiáº¿n Ä‘á»™: éd   ú%u   Upload thÃ nh cÃ´ng! Video ID: Úid)r   Ú	isoformatr   ÚprintÚvideosÚinsertÚjoinÚkeysÚ
next_chunkÚintÚprogress)Ú
video_pathr   r   r   Úpublish_timer	   r$   ÚmediaÚrequestÚresponser   s              r   Úupload_videor7      s\  € Ý!Ñ#Ô#€Gð Ø&ØØð	
ð 
ð 'Ø%×/Ò/Ñ1Ô1°CÑ7Ø',ð
ð 
ðð €Dõ ˜J°"ÀÐEÑEÔE€Eå	Ð
F Ð
FÐ
F°|Ð
FÐ
FÐ
FÑGÔGÐGØ�nŠnÑÔ×%Ò%Ø�XŠX�d—i’i‘k”kÑ"Ô"ØØð &ñ ô €Gð €HØ
Ð
Ø"×-Ò-Ñ/Ô/Ñˆ�Øð 	KÝÐI­#¨f¯oªoÑ.?Ô.?À#Ñ.EÑ*FÔ*FÐIÐIÐIÑJÔJÐJð Ð
õ
 
Ð
<¨H°T¬NÐ
<Ð
<Ñ=Ô=Ð=Ø�DŒ>Ðr   Úenc           
      ó²  — t           j                             |¦  «        st          d|› �¦  «         d S |€|                     ¦   «         › d�}t          ¦   «         }	 |                     ¦   «                              d| ¬¦  «                             ¦   «         }| 	                    dg ¦  «        D ]V}|d          	                    d¦  «        dk    r5|d         d         |k    r#t          d	|› d
| › d|d         › d�¦  «         |c S ŒWn# t          $ r
}Y d }~nd }~ww xY wd| ||ddœi}t          |d¬¦  «        }	t          d|› d|› d| › d�¦  «         	 |                     ¦   «                              dd||	¬¦  «        }
|
                     ¦   «         }t          d|› d|d         › �¦  «         |S # t          $ r }t          d|› d|› �¦  «         Y d }~d S d }~ww xY w)Nu.    [Lá»—i] KhÃ´ng tÃ¬m tháº¥y file phá»¥ Ä‘á»�: z
 Subtitlesr   )r#   ÚvideoIdÚitemsÚ	trackKindÚstandardÚlanguageu    -> Phá»¥ Ä‘á»� [u   ] Ä‘Ã£ tá»“n táº¡i trÃªn video z (ID: r(   u   ). Bá»� qua.F)r:   r>   ÚnameÚisDraftzapplication/x-subrip)Úmimetypeu    -> Ä�ang upload phá»¥ Ä‘á»� [z - u   ] lÃªn video z...)r#   Úsyncr$   r%   u    [OK] Upload phá»¥ Ä‘á»� [u   ] thÃ nh cÃ´ng! ID: u    [LÆ°u Ã½ upload phá»¥ Ä‘á»� z] )ÚosÚpathÚexistsr*   Úupperr   ÚcaptionsÚlistÚexecuteÚgetÚ	Exceptionr   r,   )Úvideo_idÚsrt_pathr>   r?   r	   ÚexistingÚitemÚer$   r4   r5   r6   s               r   Úupload_subtitlerQ   5   sj  € ÝŒ7�>Š>˜(Ñ#Ô#ð ÝÐI¸xÐIÐIÑJÔJÐJØˆtØ€|Ø—.’.Ñ"Ô"Ð.Ð.Ð.ˆå!Ñ#Ô#€GðØ×#Ò#Ñ%Ô%×*Ò*°	À8Ð*ÑLÔL×TÒTÑVÔVˆØ—L’L ¨"Ñ-Ô-ð 	ð 	ˆDØ�IŒ×"Ò" ;Ñ/Ô/°:Ò=Ð=À$ÀyÄ/ÐR\ÔB]ÐaiÒBiÐBiÝÐ{¨(Ð{Ð{ÐS[Ð{Ð{ÐcgÐhlÔcmÐ{Ð{Ð{Ñ|Ô|Ð|Ø���øð	øõ ð ð ð Øˆˆˆˆøøøøðøøøð 	ØØ ØØð	
ð 
ð€Dõ ˜HÐ/EÐFÑFÔF€Eå	Ð
X¨8Ð
XÐ
X¸Ð
XÐ
XÈ8Ð
XÐ
XÐ
XÑYÔYÐYðØ×"Ò"Ñ$Ô$×+Ò+ØØØØð	 ,ñ 
ô 
ˆð —?’?Ñ$Ô$ˆÝÐY¨8ÐYÐYÈÐRVÌÐYÐYÑZÔZÐZØˆøÝð ð ð ÝÐ=¨hÐ=Ð=¸!Ð=Ð=Ñ>Ô>Ð>Øˆtˆtˆtˆtˆtøøøøðøøøs2   ÁB&D ÄD Ä
DÄDÅAF, Æ,
GÆ6GÇGc                 óÚ   — t          ¦   «         }|                     ¦   «                              | t          |¦  «        ¬¦  «        }|                     ¦   «          t          d| › �¦  «         d S )N)r:   r%   u/   Cáº­p nháº­t áº£nh bÃ¬a thÃ nh cÃ´ng cho video )r   Ú
thumbnailsÚsetr   rI   r*   )rL   Úthumbnail_pathr	   r5   s       r   Úset_thumbnailrV   b   sp   € Ý!Ñ#Ô#€GØ× Ò Ñ"Ô"×&Ò&ØÝ" >Ñ2Ô2ð 'ñ ô €Gð ‡O‚OÑÔÐÝ	Ð
F¸HÐ
FÐ
FÑGÔGÐGÐGÐGr   )r8   N)rC   ÚsysÚdatetimeÚgoogle.oauth2.credentialsr   Úgoogleapiclient.discoveryr   Úgoogleapiclient.httpr   ÚhasattrÚstdoutr   rK   r   r7   rQ   rV   © r   r   ú<module>r_      sÿ   ðØ 	€	€	€	Ø 
€
€
€
Ø €€€Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø +Ð +Ð +Ð +Ð +Ð +Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0à
€7ˆ3Œ:�}Ñ%Ô%ð ðØŒ
×Ò¨ÐÑ0Ô0Ð0Ð0øØð ð ð Øˆðøøøð5ð 5ð 5ð!ð !ð !ðF+ð +ð +ð +ðZHð Hð Hð Hð Hs   ±A ÁAÁA