o
    5‘ði#  ã                   @  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   úi/root/parts/websockify/install/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    

	