<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
ó
ïRec           @   s’  d  Z  d d l Z d d l Z d d l Z d d l Z d d l m Z d d l m Z d d l	 m
 Z
 d d l m Z d d l m Z d d l m Z m Z m Z d d	 l m Z m Z m Z d d
 l m Z e rd d l m Z m Z d d l m Z d d l m Z d d l m  Z  n  e j! e" ƒ Z# d „  Z$ d „  Z% d „  Z& d „  Z' d „  Z( d „  Z) d e* f d „  ƒ  YZ+ d e* f d „  ƒ  YZ, d S(   s)   Download files with progress indicators.
iÿÿÿÿN(   t   CONTENT_CHUNK_SIZE(   t   DownloadProgressProvider(   t   NetworkConnectionError(   t   PyPI(   t   is_from_cache(   t   HEADERSt   raise_for_statust   response_chunks(   t   format_sizet   redact_auth_from_urlt   splitext(   t   MYPY_CHECK_RUNNING(   t   Iterablet   Optional(   t   Response(   t   Link(   t
   PipSessionc         C   s7   y t  |  j d ƒ SWn t t t f k
 r2 d  SXd  S(   Ns   content-length(   t   intt   headerst
   ValueErrort   KeyErrort	   TypeErrort   None(   t   resp(    (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/network/download.pyt   _get_http_response_size%   s    c         C   s  t  |  ƒ } | j t j k r* | j } n	 | j } t | ƒ } | r` d j | t | ƒ ƒ } n  t	 |  ƒ r t
 j d | ƒ n t
 j d | ƒ t
 j ƒ  t j k r­ t } n? t	 |  ƒ rÂ t } n* | sÑ t } n | d k ræ t } n t } t |  t ƒ } | s| St | d | ƒ| ƒ S(   Ns   {} ({})s   Using cached %ss   Downloading %si(   iè  t   maxi@œ  (   R   t   netlocR   t   file_storage_domaint   show_urlt   url_without_fragmentR	   t   formatR   R   t   loggert   infot   getEffectiveLevelt   loggingt   INFOt   Falset   TrueR   R    R   (   R   t   linkt   progress_bart   total_lengtht   urlt
   logged_urlt   show_progresst   chunks(    (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/network/download.pyt   _prepare_download-   s2    					c         C   s   t  j j |  ƒ S(   sJ   
    Sanitize the "filename" value from a Content-Disposition header.
    (   t   ost   patht   basename(   t   filename(    (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/network/download.pyt   sanitize_content_filenameY   s    c         C   sC   t  j |  ƒ \ } } | j d ƒ } | r9 t | ƒ } n  | pB | S(   sƒ   
    Parse the "filename" value from a Content-Disposition header, and
    return the default filename if the result is empty.
    R1   (   t   cgit   parse_headert   getR2   (   t   content_dispositiont   default_filenamet   _typet   paramsR1   (    (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/network/download.pyt   parse_content_dispositiona   s
    c         C   sÉ   | j  } |  j j d ƒ } | r3 t | | ƒ } n  t | ƒ d } | s} t j |  j j d d ƒ ƒ } | r} | | 7} q} n  | rÅ | j |  j k rÅ t j	 j |  j ƒ d } | rÅ | | 7} qÅ n  | S(   so   Get an ideal filename from the given HTTP response, falling back to
    the link filename if not provided.
    s   content-dispositioni   s   content-typet    (
   R1   R   R5   R:   R
   t	   mimetypest   guess_extensionR)   R.   R/   (   R   R&   R1   R6   t   ext(    (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/network/download.pyt   _get_http_response_filenamep   s    	c         C   sB   | j  j d d ƒ d } |  j | d t d t ƒ} t | ƒ | S(   Nt   #i   i    R   t   stream(   R)   t   splitR5   R   R%   R   (   t   sessionR&   t
   target_urlR   (    (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/network/download.pyt   _http_get_downloadˆ   s    
t   Downloadc           B   s   e  Z d  „  Z RS(   c         C   s   | |  _  | |  _ | |  _ d  S(   N(   t   responseR1   R,   (   t   selfRG   R1   R,   (    (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/network/download.pyt   __init__‘   s    		(   t   __name__t
   __module__RI   (    (    (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/network/download.pyRF      s   t
   Downloaderc           B   s   e  Z d  „  Z d „  Z RS(   c         C   s   | |  _  | |  _ d  S(   N(   t   _sessiont   _progress_bar(   RH   RC   R'   (    (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/network/download.pyRI   ž   s    	c         C   s…   y t  |  j | ƒ } WnD t k
 r\ } | j d  k	 s= t ‚ t j d | j j | ƒ ‚  n Xt	 | t
 | | ƒ t | | |  j ƒ ƒ S(   Ns   HTTP error %s while getting %s(   RE   RM   R   RG   R   t   AssertionErrorR   t   criticalt   status_codeRF   R?   R-   RN   (   RH   R&   R   t   e(    (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/network/download.pyt   __call__§   s    (   RJ   RK   RI   RS   (    (    (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/network/download.pyRL      s   		(-   t   __doc__R3   R"   R<   R.   t   pip._vendor.requests.modelsR    t   pip._internal.cli.progress_barsR   t   pip._internal.exceptionsR   t   pip._internal.models.indexR   t   pip._internal.network.cacheR   t   pip._internal.network.utilsR   R   R   t   pip._internal.utils.miscR   R	   R
   t   pip._internal.utils.typingR   t   typingR   R   R   t   pip._internal.models.linkR   t   pip._internal.network.sessionR   t	   getLoggerRJ   R   R   R-   R2   R:   R?   RE   t   objectRF   RL   (    (    (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/network/download.pyt   <module>   s4   		,				