
    ?wg#                        d dl mZ d dlZd dlZd dlmZ d dlmZ d dlm	Z	 g dZ
dZ ee      j                  ZefddZed	fdd
ZddZddZy)    )annotationsN)Path)	HTTPError)urlopen)DOWNLOAD_DIRretrieve_fileoutput_fileurls_from_file)zhttp://zhttps://zgithub.com/z/raw/c                    | j                         }t        D ]?  }|j                  |d      j                         j                  d      j                         }A t        |t	        j
                  dd|            S )N z/:z[^\-_\.\w\d]+_)stripNAME_REMOVEreplacer   resub)urldownload_dir	file_nameparts       a/var/www/horilla/myenv/lib/python3.12/site-packages/setuptools/tests/config/downloads/__init__.pyr	   r	      sh    		I L%%dB/557==dCIIK	Lbff%5sIFGG       c                *   t        | |      }|j                         rt        d|  d| d       |S |j                  dd       t        d|  d|        	 t	        | |       |S # t
        $ r% t        j                  |       t	        | |       Y |S w xY w)Nz	Skipping z (already exists: )T)exist_okparentszDownloading z to )r	   existsprintmkdirdownloadr   timesleep)r   r   waitpaths       r   r   r      s    sL)D{{}	#0a89 K 	D$7SEdV,-	 S$ K  	 JJtS$K	 s   A$ $*BBc                    t        d|         | j                  d      }|j                         D cg c]  }|j                  d      r| c}S c c}w )z^``list_file`` should be a text file where each line corresponds to a URL to
    download.
    zfile: zutf-8)encoding#)r   	read_text
splitlines
startswith)	list_filecontentr   s      r   r
   r
   +   sN     
F9+
!!7!3G"--/KCs~~c7JCKKKs   A
Ac                    t        |       5 }|j                         }d d d        t        |d      5 }|j                         d d d        t	        |      j                         sJ y # 1 sw Y   KxY w# 1 sw Y   1xY w)Nwb)r   readopenwriter   r   )r   destfdatas       r   r!   r!   4   sq    	 vvx 
dD	 Q	 :  s   A'A3'A03A<)r   strr   r   returnr   )r   r6   r   r   r$   floatr7   r   )r,   r   r7   z	list[str])r   r6   r3   r   )
__future__r   r   r"   pathlibr   urllib.errorr   urllib.requestr   __all__r   __file__parentr   r	   r   r
   r!    r   r   <module>rA      sT    " 	   " "
L >H~$$ 0< H 2>Q Lr   