o
    LK&h#                     @  s   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dZedfdddZdddZdddZdS )    )annotationsN)Path)	HTTPError)urlopen)DOWNLOAD_DIRretrieve_fileoutput_fileurls_from_file)zhttp://zhttps://zgithub.com/z/raw/urlstrdownload_dirr   returnc                 C  s@   |   }tD ]}||d   d  }qt|tdd|S )N z/:z[^\-_\.\w\d]+_)stripNAME_REMOVEreplacer   resub)r
   r   	file_namepart r   ]/var/www/html/venv/lib/python3.10/site-packages/setuptools/tests/config/downloads/__init__.pyr      s   r      waitfloatc                 C  s   t | |}| rtd|  d| d |S |jddd td|  d|  zt| | W |S  tyC   t| t| | Y |S w )Nz	Skipping z (already exists: )T)exist_okparentszDownloading z to )r   existsprintmkdirdownloadr   timesleep)r
   r   r   pathr   r   r   r      s   
	
r   	list_file	list[str]c                 C  s,   t d|   | jdd}dd | D S )z^``list_file`` should be a text file where each line corresponds to a URL to
    download.
    zfile: zutf-8)encodingc                 S  s   g | ]	}| d s|qS )#)
startswith).0r
   r   r   r   
<listcomp>1   s    z"urls_from_file.<locals>.<listcomp>)r    	read_text
splitlines)r&   contentr   r   r   r	   +   s   r	   destc                 C  sx   t | }| }W d    n1 sw   Y  t|d}|| W d    n1 s-w   Y  t| s:J d S )Nwb)r   readopenwriter   r   )r
   r0   fdatar   r   r   r"   4   s   

r"   )r
   r   r   r   r   r   )r
   r   r   r   r   r   r   r   )r&   r   r   r'   )r
   r   r0   r   )
__future__r   r   r#   pathlibr   urllib.errorr   urllib.requestr   __all__r   __file__parentr   r   r   r	   r"   r   r   r   r   <module>   s    

	