
    iL                         S SK r S SKrSSKJrJr  SSKJr  SSKJrJ	r	J
r
Jr  SSSSS.rS	S	S
SS.rSSSSSS.r\\\\S.r " S S\5      r " S S\5      rg)    N   )	ExtractorMessage)DownloadJob)utilversionoutput	exceptionzmikf/gallery-dlzgdl-org/builds)stabledevnightlymasterzgallery-dl.exezgallery-dl_x86.exezgallery-dl.bin)windowswindows_x64windows_x86linuxzgallery-dl_windows.exezgallery-dl_windows_x86.exezgallery-dl_linuxzgallery-dl_macos)r   r   r   r   macosc                   ,    \ rS rSrS rS rS rS rSrg)	UpdateJob,   c                    U R                  U5      (       dS  US   (       a  U =R                  S-  sl        U R                  R                  R	                  S[
        R                  5      $ US   (       a8  U R                  R                  R	                  S[
        R                  US   5      $ U R                  R                  R	                  S[
        R                  US   5        [        R                  S-   n[        R                  S-   n[        R                  R                  [        R                  5      u  pVU R                  nS	Ul        Xgl        XGl        [        R                  =Ul        Ul
        U=Ul        Ul        S
U l        U R)                  U5      (       d9  U =R                  S-  sl        U R+                  SUR-                  S5      S   5      $ [.        R0                  (       d/   [        R2                  " [        R                  5      R4                  n [        R:                  " [        R                  U5         UR=                  5         [.        R0                  (       aD  SS Kn	SS K n
SU S3nU	RC                  [.        RD                  US
U
RF                  U
RF                  S9  O= [        RH                  " U5         [        RJ                  " [        R                  W5        U RL                  RO                  UR                  5        g ! [6         a    SnU R9                  S5         GNf = f! [6         a    U R+                  S5      s $ f = f! [6         a9    U R+                  S5        [        R:                  " U[        R                  5      s $ f = f! [6         a    U R9                  S5         Nf = f! [6         a    U R9                  S5         Nf = f)N_checkr   zgallery-dl is up to date (%s)z$A new release is available: %s -> %stag_namezUpdating from %s to %sz.oldz.newnewT   zFailed to download %s/   i  z"Unable to get file permission bitsz!Unable to move current executablez&Unable to overwrite current executabler   z&ping 127.0.0.1 -n 5 -w 1000 & del /F "")shellstdoutstderrzUnable to delete old executablez&Unable to restore file permission bits)(_check_updatestatus	extractorloginfor   __version__sys
executableospathsplitpathfmt	extensionfilenametemppathrealpathrealdirectory	directory_newlinedownload_error
rpartitionr   WINDOWSstatst_modeOSError_warningreplacefinalizeatexit
subprocessregisterPopenDEVNULLunlinkchmodoutsuccess)selfurlkwdictpath_oldpath_newr3   r/   r-   maskr?   r@   cmds               >/app/mltbenv/lib/python3.13/site-packages/gallery_dl/update.py
handle_urlUpdateJob.handle_url.   s   !!&))hq >>%%**/1D1DF F (>>%%**6##VJ%79 9 	$
!3	5 >>F*>>F* ggmmCNN;	,,!##*-..87<4== 1}}S!!KK1K;;6s8KA8NOO||Dwws~~.66
	DJJs~~x0	8
 <<:8*AFCOO

Ct!))*2D2D  A		(#H. 	&I  DBCD  	D;;BCC	D
  	8KK@A::h77	8"  A?@A
  HFGHs[   ..L %L3 M -N %N; L0/L03MMA NNN87N8;OOc                    US   (       a  gUS   nUS   S:X  a  USS  =US'   n[         R                  R                  S5      u  p4nUR                  S5       Vs/ s H  n[	        U5      PM     nnUR                  S5       Vs/ s H  n[	        U5      PM     nnU(       a  US	==   S
-  ss'   Xx:  a  g g[         R                  R                  SU-   5      (       a  ggs  snf s  snf )N_exactTr   r   vr   -.g      ?F:)r   r'   	partitionr,   intendswith)	rH   rJ   tagver_r   rT   version_localversion_remotes	            rO   r"   UpdateJob._check_updatew   s    (Z q6S='*12w.F:!--77<KCC-0YYs^<^SV^M<.1iin=nc!fnN=b!S(!. /    ))#)44 ==s   CC$c                     U R                   (       a  SU l         [        R                  " S5        U R                  R                  R
                  " U/UQ76   g )NF
)r4   r	   stderr_writer$   r%   warningrH   msgargss      rO   r<   UpdateJob._warning   s;    ==!DM%""3..    c                     U R                   (       a  SU l         [        R                  " S5        U =R                  S-  sl        U R                  R
                  R                  " U/UQ76   g )NFrc   r   )r4   r	   rd   r#   r$   r%   errorrf   s      rO   r6   UpdateJob._error   sI    ==!DM%q  ,t,rj   )r4   N)	__name__
__module____qualname____firstlineno__rP   r"   r<   r6   __static_attributes__ rj   rO   r   r   ,   s    G'R./-rj   r   c                   *    \ rS rSrSrSrSrSrS rSr	g)	UpdateExtractor   updatezhttps://github.comzhttps://api.github.comzupdate(?::(.+))?c              #   l  #    SnS=p#[         R                  =(       d    SnUR                  S5      u  pVnU R                  S   nUS:X  a  OkUS:X  a  SnObUR                  S5      u  pnU
(       a  U	nUnSnOU	[        ;   a  U	nOU	nSn[
        R                  " S	5      R                  U5      (       a  S
U-   n [        U=(       d    S   nUS:X  a  UOSU-   nU R                   SU SU 3nS[
        R                  SS.nU R                  XSS9R                  5       nX/S'   X?S'   US:X  a  US:w  a  US   S::  a  SnO[        U   U   nU R                    SU SUS    SU 3n["        R$                  SU4v   ["        R&                  X4v   g ! [         a    [        R                  " SU S35      ef = f7f)NlatestFzstable/windowsr   r   checkT@z\d\.\d+\.\d+rT   r   zInvalid channel ''ztags/z/repos/z
/releases/zapplication/vnd.github+jsonz
2022-11-28)Acceptz
User-AgentzX-GitHub-Api-Versionr\   )headersnotfoundr   rS   r   r   z
2024.05.28zgallery-dl_ubuntuz/releases/download/ )r   __variant__rY   groupsREPOSr   
re_compilematchKeyErrorr
   AbortExtractionroot_apiUSERAGENT_GALLERYDLrequestjsonBINARIESrootr   	DirectoryUrl)rH   r\   rz   exactvariantrepor^   binarytargetchannelsep	path_repopath_tagrI   r~   databinary_names                    rO   itemsUpdateExtractor.items   s    %%9)9!++C0QXwE#)#3#3C#8 G&E!/55c::Ci	Id.h/I /3w}wykH:F322$0

 ||C5|AFFHXXW Z L0-K"4.0K))Ai[ )
#$Ak]4 T))kk3$$3  	I++.?vQ,GHH	Is   B4F47F 	CF4%F11F4rs   N)
rn   ro   rp   rq   categoryr   r   patternr   rr   rs   rj   rO   ru   ru      s    HD'H!G6%rj   ru   )r*   r(   extractor.commonr   r   jobr   r   r   r   r	   r
   r   BINARIES_STABLEBINARIES_DEVr   r   ru   rs   rj   rO   <module>r      s    
 
 0  . . !		 $#'#	 ,+/%% 	m- m-`<%i <%rj   