3 Re @ s* d Z ddlZddlZddlZddlZddlmZ ddlmZ ddl m Z ddlmZ ddl mZ ddlmZmZmZ dd lmZmZmZ dd lmZ erddlmZmZ ddlmZ dd lmZ ddlm Z ej!e"Z#dd Z$dd Z%dd Z&dd Z'dd Z(dd Z)G dd de*Z+G dd de*Z,dS )z)Download files with progress indicators. N)CONTENT_CHUNK_SIZE)DownloadProgressProvider)NetworkConnectionError)PyPI) is_from_cache)HEADERSraise_for_statusresponse_chunks)format_sizeredact_auth_from_urlsplitext)MYPY_CHECK_RUNNING)IterableOptional)Response)Link) PipSessionc C s. yt | jd S tttfk r( d S X d S )Nzcontent-length)intheaders ValueErrorKeyError TypeError)resp r /builddir/build/BUILDROOT/alt-python36-pip-20.2.4-5.el9.x86_64/opt/alt/python36/lib/python3.6/site-packages/pip/_internal/network/download.py_get_http_response_size% s r c C s t | }|jtjkr|j}n|j}t|}|r>dj|t|}t | rTt jd| nt jd| t j t jkrtd}n*t | rd}n|sd}n|d krd}nd}t| t}|s|S t||d|S ) Nz{} ({})zUsing cached %szDownloading %sFT( i )maxi@ )r netlocr file_storage_domainshow_urlurl_without_fragmentr formatr r loggerinfogetEffectiveLevelloggingINFOr r r )r linkprogress_bartotal_lengthurl logged_url show_progresschunksr r r _prepare_download- s2 r/ c C s t jj| S )zJ Sanitize the "filename" value from a Content-Disposition header. )ospathbasename)filenamer r r sanitize_content_filenameY s r4 c C s, t j| \}}|jd}|r$t|}|p*|S )z Parse the "filename" value from a Content-Disposition header, and return the default filename if the result is empty. r3 )cgiparse_headergetr4 )content_dispositiondefault_filename_typeparamsr3 r r r parse_content_dispositiona s r<