+
    ¹X�j~  ã                   ó^  € R t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt	^ RI
t	^ RIHt ]P                  P                  ]P                  P                  ]P                  P!                  ]4      4      R4      tRRRRRRR	R
RRRRRRRRRRRR/
tR tR tR tR t]R8X  d
   ]! 4        R# R# )ud  
è…¾è®¯äº‘ COS ä¸Šä¼  â€”â€” çº¯æ ‡å‡†åº“, q-sign(SHA1) ç­¾å��(ä¸Žå®˜æ–¹ qcloud_cos CosS3Auth ä¸€è‡´)
æŠŠæœ¬åœ°äº§å“�å›¾ä¼ åˆ° COS, è¿”å›žå�¯ç›´æŽ¥å–‚ç»™ autodl ref_image_0 çš„å…¬ç½‘ URLã€‚
é…�ç½®: å�Œç›®å½• cos_upload.json (secret_id / secret_key / bucket / region)
ç”¨æ³•: python3 cos_upload.py æœ¬åœ°å›¾.png [æ›´å¤š...]  -> æ¯�è¡Œè¾“å‡ºä¸€ä¸ªå…¬ç½‘ URL
N)Úquotezcos_upload.jsonz.pngz	image/pngz.jpgz
image/jpegz.jpegz.webpz
image/webpz.mp3z
audio/mpegz.wavz	audio/wavz.m4az	audio/mp4z.aacz	audio/aacz.flacz
audio/flacz.oggz	audio/oggc                  ó”  € \         P                  P                  \        4      '       g   \        P
                  ! R 4       \        \        4      ;_uu_ 4       p \        P                  ! V 4      pRRR4       R F9  pXP                  V4      '       d   K  \        P
                  ! RV,           4       K;  	  X#   + '       g   i     LQ; i)uT   ç¼ºé…�ç½®: è¯·åˆ›å»º cos_upload.json å¡«å…¥ secret_id / secret_key / bucket / regionNu   é…�ç½®ç¼ºå°‘å­—æ®µ: )Ú	secret_idÚ
secret_keyÚbucketÚregion)
ÚosÚpathÚexistsÚCONFIGÚsysÚexitÚopenÚjsonÚloadÚget)ÚfÚcÚks      Ú4/Users/cheyod/AIGC/DSH/douyin_workflow/cos_upload.pyÚload_configr      sw   € Ü�7‰7�>‰>œ&×!Ò!Ü�ŠÐgÔhÜ	Œf�Œ˜Ü�IŠI�a‹Lˆ÷ 
ã<ˆØ�u‰u�Q�xŒxÜ�HŠHÐ+¨aÕ/Ö0ñ =ð €H÷ 
�ús   ÁB7Â7C	c           
      ón  a€ / oVP                  4        FN  w  rg\        VP                  R 4      R4      P                  4       p\        VP                  R 4      R4      p	V	SV&   KP  	  RP	                  V3R l\        S4       4       4      p
VP                  4       : RV: RR: RV
: R2p\        P                  ! VP                  4       4      P                  4       pRV: RV: R2p\        P                  ! VP                  4       VP                  4       \        P                  4      P                  4       p\        P                  ! VP                  4       VP                  4       \        P                  4      P                  4       pRP	                  \        S4      4      pRV : R	V: R
V: RV: RV: 2
# )úutf-8z-_.~Ú&c              3   óB   <"  € T F  q: R SV,          : 2x € K  	  R# 5i)Ú=N© )Ú.0r   Úchs   & €r   Ú	<genexpr>Ú_qsign.<locals>.<genexpr>    s   øé € ÐD¹°A¢a¨¨A¯Õ/»ùs   ƒÚ
Ú zsha1
Ú;zq-sign-algorithm=sha1&q-ak=z&q-sign-time=z&q-key-time=z&q-header-list=z&q-url-param-list=&q-signature=)Úitemsr   ÚencodeÚlowerÚjoinÚsortedÚhashlibÚsha1Ú	hexdigestÚhmacÚnew)r   r   Úmethodr	   ÚheadersÚkey_timer   ÚvÚk2Úv2Úheader_lineÚ
format_strr*   Ústr_to_signÚsign_keyÚsigÚheader_listr   s   &&&&&&           @r   Ú_qsignr:      s7  ø€ à	€BØ—‘–‰ˆÜ�1—8‘8˜GÓ$ fÓ-×3Ñ3Ó5ˆÜ�1—8‘8˜GÓ$ fÓ-ˆØˆˆ2‹ñ  ð —(‘(ÔD¼À¼ÓDÓD€KØ'-§|¡|¦~³t»RÃÐM€JÜ�<Š<˜
×)Ñ)Ó+Ó,×6Ñ6Ó8�DÛ&.³Ð5€KÜ�xŠx˜
×)Ñ)Ó+¨X¯_©_Ó->ÄÇÁÓM×WÑWÓY€HÜ
�(Š(�8—?‘?Ó$ k×&8Ñ&8Ó&:¼G¿L¹LÓ
I×
SÑ
SÓ
U€CØ—(‘(œ6 "›:Ó&�Kó ›(£H«kº3ð@ð Aó    c           
      ó0  € \        VR 4      P                  4       p\        P                  P	                  V4      ^,          P                  4       p\        P                  VR4      pV R,          R,           V R,          ,           R,           p\        \        P                  ! 4       4      pRV^<,
          VR,           3,          p\        V R,          V R	,          R
RV,           RVRV/V4      p	RV,           R,           V,           p
\        P                  P                  W£R
R7      pVP                  RV4       VP                  RV4       VP                  RV	4        \        P                  P                  V^xR7      ;_uu_ 4       pVP                   uuRRR4       #   + '       g   i     R# ; i  \        P"                  P$                   dJ   pTP                  4       P'                  RR4      p\)        RTP*                  : RTR,          : 24      hRp?ii ; i)Úrbzapplication/octet-streamr   ú.cos.r   z.myqcloud.comz%d;%di'  r   r   ÚPUTÚ/ÚHostzContent-Typeúhttps://)Údatar.   ÚAuthorization)ÚtimeoutNr   Úignoreu   COS ä¸Šä¼ å¤±è´¥ HTTP z: :Niô  N)r   Úreadr   r	   Úsplitextr&   Ú
DEFAULT_CTr   ÚintÚtimer:   ÚurllibÚrequestÚRequestÚ
add_headerÚurlopenÚstatusÚerrorÚ	HTTPErrorÚdecodeÚRuntimeErrorÚcode)ÚcfgÚ
local_pathÚkeyrC   ÚextÚcontent_typeÚhostÚnowr0   ÚauthÚurlÚreqÚrÚeÚbodys   &&&            r   Ú
put_objectrd   +   s”  € Ü�
˜DÓ!×&Ñ&Ó(€DÜ
�'‰'×
Ñ
˜:Ó
& qÕ
)×
/Ñ
/Ó
1€CÜ—>‘> #Ð'AÓB€LØˆx�=˜7Õ" S¨¥]Õ2°_ÕD€DÜ
Œd�iŠi‹kÓ
€CØ˜# �( C¨%¥KÐ0Õ0€HÜ�#�kÕ" C¨Õ$5°u¸cÀC½iØ˜4 °Ð>ÀóJ€Dà
�tÕ
˜cÕ
! CÕ
'€CÜ
�.‰.×
 Ñ
  ¸Ð
 Ó
>€CØ‡N�N�6˜4Ô Ø‡N�N�> <Ô0Ø‡N�N�? DÔ)ðRÜ�^‰^×#Ñ# C°Ð#×5Ô5¸Ø—8‘8÷ 6×5×5Ó5ûä�<‰<×!Ñ!ô RØ�v‰v‹x�‰˜w¨Ó1ˆÝ¸Q¿V¼VÀTÈ$ÇZÐPÓQÐQûðRús7   Å)F- ÆFÆ
F- ÆF*	Æ$F- Æ*F- Æ-HÇAHÈHc                  óæ  € \        \        P                  4      ^8  d   \        P                  ! \        4       \        4       p \        P                  R,           EF  p\        P                  P                  V4      '       g%   \        RV,           \        P                  R7       KM  \        P                  P                  V4      p\        P                  ! R4      p^ RIpRV,           R,           VP                  4       P                   R,          ,           R	,           V,           p\#        WV4       \        R
V R,          ,           R,           V R,          ,           R,           V,           4       EK  	  R# )é   :é   NNu   [skip] æ–‡ä»¶ä¸�å­˜åœ¨: )Úfilez%Y%m%dNzdouyin/r@   :Né   NÚ_rB   r   r>   r   z.myqcloud.com/)Úlenr   Úargvr   Ú__doc__r   r   r	   r
   ÚprintÚstderrÚbasenamerK   ÚstrftimeÚuuidÚuuid4Úhexrd   )rW   ÚpÚbaseÚtrr   rY   s         r   Úmainrx   @   së   € Ü
Œ3�8‰8ƒ}�qÔÜ�Š”ÔÜ
‹-€CÜ�X‰X�b�\‰\ˆÜ�w‰w�~‰~˜a× Ò ÜÐ,¨qÕ0´s·z±zÕBÙÜ�w‰w×Ñ Ó"ˆÜ�MŠM˜(Ó#ˆÛØ˜!�m˜cÕ! D§J¡J£L×$4Ñ$4°RÕ$8Õ8¸3Õ>ÀÕEˆÜ�3˜3ÔÜˆj˜3˜x�=Õ(¨7Õ2°S¸µ]ÕBÐEUÕUÐX[Õ[×\ó r;   Ú__main__)rm   Údatetimer)   r,   r   r   r   rK   Úurllib.requestrL   Úurllib.errorÚurllib.parser   r	   r'   ÚdirnameÚabspathÚ__file__r   rI   r   r:   rd   rx   Ú__name__r   r;   r   Ú<module>r‚      sà   ðñ÷ R× Q× Q× QÓ QÝ à	�‰�‰�b—g‘g—o‘o b§g¡g§o¡o°hÓ&?Ó@ÐBSÓ	T€Ø�k 6¨<¸À,ÐPWÐYeÐflÐnzð  }Cð  EPð  RXð  Zeð  gmð  ozð  |Cð  EQð  SYð  [fð  g€
òòAò$Rò*]ð ˆzÔÙ†Fñ r;   