£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<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.
iN(   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   		,				