HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //usr/lib/python3.9/site-packages/pip/_internal/network/__pycache__/download.cpython-39.pyc
a

?�f�@s*dZddlZddlZddlZddlZddlmZddlmZddl	m
Z
ddlmZddl
mZddlmZmZmZdd	lmZmZmZdd
lmZer�ddlmZmZddlmZdd
lmZddlm Z e�!e"�Z#dd�Z$dd�Z%dd�Z&dd�Z'dd�Z(dd�Z)Gdd�de*�Z+Gdd�de*�Z,dS)z)Download files with progress indicators.
�N)�CONTENT_CHUNK_SIZE)�DownloadProgressProvider)�NetworkConnectionError)�PyPI)�
is_from_cache)�HEADERS�raise_for_status�response_chunks)�format_size�redact_auth_from_url�splitext)�MYPY_CHECK_RUNNING)�Iterable�Optional)�Response)�Link)�
PipSessionc
Cs0zt|jd�WStttfy*YdS0dS)Nzcontent-length)�int�headers�
ValueError�KeyError�	TypeError)�resp�r�B/usr/lib/python3.9/site-packages/pip/_internal/network/download.py�_get_http_response_size%srcCs�t|�}|jtjkr|j}n|j}t|�}|r>d�|t|��}t	|�rTt
�d|�nt
�d|�t
��t
jkrtd}n*t	|�r�d}n|s�d}n|dkr�d}nd}t|t�}|s�|St||d�|�S)Nz{} ({})zUsing cached %szDownloading %sFTi@�)�max)r�netlocrZfile_storage_domainZshow_urlZurl_without_fragmentr�formatr
r�logger�infoZgetEffectiveLevel�logging�INFOr	rr)r�link�progress_barZtotal_length�urlZ
logged_urlZ
show_progress�chunksrrr�_prepare_download-s6
��r'cCstj�|�S)zJ
    Sanitize the "filename" value from a Content-Disposition header.
    )�os�path�basename)�filenamerrr�sanitize_content_filenameYsr,cCs,t�|�\}}|�d�}|r$t|�}|p*|S)z�
    Parse the "filename" value from a Content-Disposition header, and
    return the default filename if the result is empty.
    r+)�cgiZparse_header�getr,)�content_dispositionZdefault_filenameZ_type�paramsr+rrr�parse_content_dispositionas

r1cCs�|j}|j�d�}|r t||�}t|�d}|sPt�|j�dd��}|rP||7}|s~|j|jkr~tj	�|j�d}|r~||7}|S)zoGet an ideal filename from the given HTTP response, falling back to
    the link filename if not provided.
    zcontent-disposition�zcontent-type�)
r+rr.r1r�	mimetypesZguess_extensionr%r(r))rr#r+r/Zextrrr�_get_http_response_filenameps 
�r5cCs.|j�dd�d}|j|tdd�}t|�|S)N�#r2rT)r�stream)r%�splitr.rr)�sessionr#Z
target_urlrrrr�_http_get_download�sr:c@seZdZdd�ZdS)�DownloadcCs||_||_||_dS�N)�responser+r&)�selfr=r+r&rrr�__init__�szDownload.__init__N)�__name__�
__module__�__qualname__r?rrrrr;�sr;c@seZdZdd�Zdd�ZdS)�
DownloadercCs||_||_dSr<)�_session�
_progress_bar)r>r9r$rrrr?�szDownloader.__init__c
Cstzt|j|�}WnFtyV}z.|jdus.J�t�d|jj|��WYd}~n
d}~00t|t||�t	|||j
��S)NzHTTP error %s while getting %s)r:rDrr=rZcriticalZstatus_coder;r5r'rE)r>r#r�errr�__call__�s
��zDownloader.__call__N)r@rArBr?rGrrrrrC�s	rC)-�__doc__r-r!r4r(Zpip._vendor.requests.modelsrZpip._internal.cli.progress_barsrZpip._internal.exceptionsrZpip._internal.models.indexrZpip._internal.network.cacherZpip._internal.network.utilsrrr	Zpip._internal.utils.miscr
rrZpip._internal.utils.typingr
�typingrrrZpip._internal.models.linkrZpip._internal.network.sessionrZ	getLoggerr@rrr'r,r1r5r:�objectr;rCrrrr�<module>s4
,