Sindbad~EG File Manager

Current Path : /usr/local/lib/python3.12/site-packages/pip/_internal/network/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.12/site-packages/pip/_internal/network/__pycache__/download.cpython-312.pyc

�

4Μg��	��dZddlZddlZddlZddlZddlmZmZm	Z	ddl
mZddlm
Z
ddlmZddlmZddlmZdd	lmZdd
lmZddlmZmZmZddlmZmZmZej@e!�Z"d
edee#fd�Z$d
edede%dee&fd�Z'de%de%fd�Z(de%de%de%fd�Z)d
edede%fd�Z*dededefd�Z+Gd�d�Z,Gd�d�Z-y)z)Download files with progress indicators.
�N)�Iterable�Optional�Tuple)�Response)�get_download_progress_renderer)�NetworkConnectionError)�PyPI)�Link)�
is_from_cache)�
PipSession)�HEADERS�raise_for_status�response_chunks)�format_size�redact_auth_from_url�splitext�resp�returnc�h�	t|jd�S#tttf$rYywxYw)Nzcontent-length)�int�headers�
ValueError�KeyError�	TypeError)rs �I/usr/local/lib/python3.12/site-packages/pip/_internal/network/download.py�_get_http_response_sizers5����4�<�<� 0�1�2�2����)�,����s��1�1�link�progress_barc��t|�}|jtjk(r
|j}n|j
}t
|�}|r|�dt|��d�}t|�rtjd|�ntjd|�tj�tjkDrd}nt|�rd}n|sd}n
|dkDrd}nd}t|�}|s|St||��}||�S)	Nz (�)zUsing cached %szDownloading %sFTi)�bar_type�size)r�netlocr	�file_storage_domain�show_url�url_without_fragmentrrr�logger�info�getEffectiveLevel�logging�INFOrr)	rrr�total_length�url�
logged_url�
show_progress�chunks�renderers	         r�_prepare_downloadr2s���
+�4�0�L��{�{�d�.�.�.��m�m���'�'��%�c�*�J��"�|�2�k�,�&?�%@��B�
��T�����%�z�2����$�j�1�
���!�G�L�L�0��
�	�t�	��
�
��
�	��	$��
��
�
�T�
"�F���
�-�|�,�W�H��F����filenamec�@�tjj|�S)zJ
    Sanitize the "filename" value from a Content-Disposition header.
    )�os�path�basename)r4s r�sanitize_content_filenamer9Is���7�7���H�%�%r3�content_disposition�default_filenamec��tjj�}||d<|jd�}|rt	t|��}|xs|S)z�
    Parse the "filename" value from a Content-Disposition header, and
    return the default filename if the result is empty.
    �content-typer4)�email�message�Message�	get_paramr9�str)r:r;�mr4s    r�parse_content_dispositionrDPsM��
	�
�
����A�+�A�n���{�{�:�&�H��-�S��]�;���'�'�'r3c��|j}|jjd�}|rt||�}t	|�d}|s6tj|jjdd��}|r||z
}|sL|j|jk7r3tjj	|j�d}|r||z
}|S)zoGet an ideal filename from the given HTTP response, falling back to
    the link filename if not provided.
    zcontent-disposition�r=�)
r4r�getrDr�	mimetypes�guess_extensionr-r6r7)rrr4r:�exts     r�_get_http_response_filenamerL_s����}�}�H��,�,�*�*�+@�A���,�-@�(�K��!�(�+�A�.�C���'�'����(8�(8���(L�M�����O�H��4�8�8�t�x�x�'��g�g���t�x�x�(��+�����O�H��Or3�sessionc��|jjdd�d}|j|td��}t	|�|S)N�#rFrT)r�stream)r-�splitrHr
r)rMr�
target_urlrs    r�_http_get_downloadrSts<��������Q�'��*�J��;�;�z�7�4�;�@�D��T���Kr3c�>�eZdZdededdfd�Zdededeeeffd�Zy)	�
DownloaderrMrrNc� �||_||_y�N��_session�
_progress_bar��selfrMrs   r�__init__zDownloader.__init__|���
 ��
�)��r3r�locationc��	t|j|�}t||�}tjj||�}t|||j�}t|d�5}|D]}	|j|	��	ddd�|jj!dd�}
||
fS#t$r?}|j�J�tjd|jj|��d}~wwxYw#1swY�txYw)z.Download the file given by link into location.N�HTTP error %s while getting %s�wb�Content-TyperG�rSrYr�responser'�critical�status_coderLr6r7�joinr2rZ�open�writerrH)r\rr_r�er4�filepathr0�content_file�chunk�content_types           r�__call__zDownloader.__call__�s���	�%�d�m�m�T�:�D�/�t�T�:���7�7�<�<��(�3��"�4��t�/A�/A�B��
�(�D�
!�\����"�"�5�)� �"��|�|�'�'���;����%�%��&�	��:�:�)�)�)��O�O�0�!�*�*�2H�2H�$�
�
��	��"�
!�s#�B)�'C4�)	C1�2:C,�,C1�4C=)	�__name__�
__module__�__qualname__rrBr]r
rrp�r3rrUrU{sE��*��*��*�
�	*�&�T�&�S�&�U�3��8�_�&r3rUc�T�eZdZdededdfd�Zdeededeeeeeefffd�Z	y)	�BatchDownloaderrMrrNc� �||_||_yrWrXr[s   rr]zBatchDownloader.__init__�r^r3�linksr_c#� K�|D]�}	t|j|�}t||�}tjj||�}t|||j�}t|d�5}	|D]}
|	j|
��	ddd�|jj!dd�}|||ff����y#t$r?}|j�J�tjd|jj|��d}~wwxYw#1swY�{xYw�w)z0Download the files given by links into location.NrarbrcrGrd)r\rxr_rrrkr4rlr0rmrnros            rrpzBatchDownloader.__call__�s������D�	
�)�$�-�-��>��3�4��>�H��w�w�|�|�H�h�7�H�&�t�T�4�3E�3E�F�F��h��%��#�E� �&�&�u�-�$�&� �<�<�+�+�N�B�?�L���<�0�0�0�)��*�
��z�z�-�-�-����4��J�J�*�*���
��
��&�%�s@�D�B7�AD�.D�/D�7	C?�:C:�:C?�?D�D	�D)
rqrrrsrrBr]rr
rrprtr3rrvrv�s[��*��*��*�
�	*�1��d�^�1�/2�1�	�%��e�C��H�o�-�.�	/�1r3rv).�__doc__�
email.messager>r*rIr6�typingrrr�pip._vendor.requests.modelsr�pip._internal.cli.progress_barsr�pip._internal.exceptionsr�pip._internal.models.indexr	�pip._internal.models.linkr
�pip._internal.network.cacher�pip._internal.network.sessionr�pip._internal.network.utilsr
rr�pip._internal.utils.miscrrr�	getLoggerrqr'rrrB�bytesr2r9rDrLrSrUrvrtr3r�<module>r�s������	�,�,�0�J�;�+�*�5�4�R�R�P�P�	��	�	�8�	$���(��x��}��'�
�'�
�'��'��e�_�	'�T&��&��&�(�3�(�#�(�RU�(��h��d��s��*�
��$��8��&�&�>!1�!1r3

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists