
    [`j@                        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 ee                                          j	        d         Z
 ej                    dz  Ze
dz  Zd Zd Zd Zd	 Z e            Zed
                             d          Ze
dz  Ze
dz  Zdd ee           ee          e                                j         ee           ee          e                                j        ej                            ej        j                                                  d	Ze                                j        dk     sJ  ee            eeed         e          ed<   ej                            ej        j                                                  ed<    ee            eeed         e          ed<   e                    ddej                            ej        j                                                              ee            e  ej!        ded         d         ed         d         dd                     dS )    )PathN   z .config/gac-mai-audio/postiz.envzlog/postiz-media.jsonc                     i } t                                                                           D ]}|r|                                                    d          sd|v r|                    dd          \  }}t          j                            |	                                |	                                	                    d          	                    d                    | |	                                <   | S )N#=r   "')
ENV_PATH	read_text
splitlineslstrip
startswithsplitosenvirongetstrip)valueslinekeyvalues       script/upload-postiz-media.pyload_envr      s    F""$$//11 c c 	c0055 	c#++C++JC"$*..ekkmm>Q>QRU>V>V>\>\]`>a>a"b"bF399;;M    c                    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   r   <lambda>zsha256.<locals>.<lambda>   s    &++o">"> r   r   )hashlibsha256openiterupdate	hexdigest)pathdigestblockr   s      @r   r"   r"      s    ^F	4 !F>>>>DD 	! 	!EMM%    	!! ! ! ! ! ! ! ! ! ! ! ! ! ! ! s   ,A##A'*A'c                     t          t          t                    dz             }|                    t	          j        | dd          dz              t          j        |t                     d S )Nz.tmpF   )ensure_asciiindent
)r   strRECEIPT_PATH
write_textjsondumpsr   replace)r   	temporarys     r   atomicr6      s^    S&&/00IEaHHH4OPPPJy,'''''r   c           
         d|                     dd          z   dz   dz   t          |                               dd          z   dz   }t          j        dddd	d
d| dz   g|dd          }|j        r/t          d|j        dd          z   |j        dd          z             t          j	        |j                  }|
                    d|          }t          |t                    r|d         }t          |t                    r*|
                    d          r|
                    d          st          d          |d         |d         dS )Nzheader = "Authorization: r   z\"z"
zform = "file=@curlz--fail-with-bodyz--silentz--show-errorz--config-z/uploadT)inputtextcapture_outputzPostiz upload failed: imediar   idr'   z$Postiz upload response lacks id/path)r>   r'   )r4   r/   
subprocessrun
returncodeRuntimeErrorstderrstdoutr2   loadsr   
isinstancelistdict)base_urlapi_keyr'   configresultdatar=   s          r   uploadrN   $   s   (7??3+F+FFNQaadghldmdmduduvy  |A  eB  eB  B  EJ  JF^V%7^U_adfnqzfz{  DJ  QU  fj  k  k  kF e3fmEFF6KKfm\a\b\bNccddd:fm$$DHHWd##E% aeT"" C%))D// C6ARAR CABBB+uV}555r   POSTIZ_BASE_URL/zoutput/final-upload.mp4z image/intro-poster-1920x1080.pngrunningF)	statusverified
video_pathvideo_sha256video_bytesthumbnail_paththumbnail_sha256thumbnail_bytes
started_ati ʚ;POSTIZ_API_KEYvideovideo_uploaded_at	thumbnail	completedT)rR   rS   thumbnail_uploaded_atr>   )rR   video_idthumbnail_id)r,   )"pathlibr   datetimer!   r2   r   r?   __file__resolveparentsROOThomer
   r0   r   r"   r6   rN   r   rstriprI   r\   r^   r/   statst_sizenowtimezoneutc	isoformatreceiptr%   printr3    r   r   <module>rt      s~            				    tH~~'*49;;;;--    ( ( (6 6 6 
#$++C00((55	EU]c]cdi]j]j  |A  |F  |F  |H  |H  |P  dg  dg  hq  dr  dr  HN  HN  OX  HY  HY  nw  n|  n|  n~  n~  nF  V^  Vg  Vk  Vk  lt  l}  lA  VB  VB  VL  VL  VN  VN  O  Ozz||j(((( w6(F+;$<eDD '044X5F5JKKUUWW  wvh/?(@)LL  kDHYH]H]^f^o^sHtHtH~H~  IA  IA  B  B  B w jdjKWW5Ed5K]dep]qrv]wxx  HM  N  N  N  O  O  O  O  Or   