U ʗRe @ sT d Z ddlZddlZddlZddlZddlmZmZm Z ddl mZmZ ddl mZ ddlmZ ddlmZ ddlmZ dd lmZ dd lmZ ddlmZmZmZ ddlmZmZm Z e!e"Z#eee$ d ddZ%eee&ee' dddZ(e&e&dddZ)e&e&e&dddZ*eee&dddZ+eeedddZ,G dd d Z-G d!d" d"Z.dS )#z)Download files with progress indicators. N)IterableOptionalTuple)CONTENT_CHUNK_SIZEResponse)get_download_progress_renderer)NetworkConnectionError)PyPI)Link) is_from_cache) PipSession)HEADERSraise_for_statusresponse_chunks)format_sizeredact_auth_from_urlsplitext)respreturnc C s2 zt | jd W S tttfk r, Y d S X d S )Nzcontent-length)intheaders ValueErrorKeyError TypeError)r r /builddir/build/BUILDROOT/alt-python38-pip-22.2.1-2.el8.x86_64/opt/alt/python38/lib/python3.8/site-packages/pip/_internal/network/download.py_get_http_response_size s r )r linkprogress_barr c C s t | }|jtjkr|j}n|j}t|}|r>d|t|}t | rTt d| nt d| t t jkrtd}n*t | rd}n|sd}n|dkrd}nd}t| t}|s|S t||d}||S )Nz{} ({})zUsing cached %szDownloading %sFTi@ )bar_typesize)r netlocr file_storage_domainshow_urlurl_without_fragmentr formatr r loggerinfogetEffectiveLevelloggingINFOr r r ) r r r total_lengthurl logged_url show_progresschunksrendererr r r _prepare_download s0 r1 )filenamer c C s t j| S )zJ Sanitize the "filename" value from a Content-Disposition header. )ospathbasename)r2 r r r sanitize_content_filenameH s r6 )content_dispositiondefault_filenamer c C s4 t j }| |d<