
0c@_                 @   s   d  d l  Z  d  d l Z d  d l m Z d  d l m Z d  d l m Z e rj d  d l	 m
 Z
 m Z m Z d d   Z d d	   Z d
 d   Z d S)    N)parse)request)MYPY_CHECK_RUNNING)OptionalTextUnionc             C   s*   d |  k r d  S|  j  d d  d j   S)N:   r   )splitlower)url r   7/tmp/pip-build-jynh7p1z/pip/pip/_internal/utils/urls.pyget_url_scheme   s    r   c             C   s=   t  j j t  j j |    }  t j d t j |    } | S)zh
    Convert a path to a file: URL.  The path will be made absolute and have
    quoted path parts.
    zfile:)ospathnormpathabspathurllib_parseurljoinurllib_requestpathname2url)r   r   r   r   r   path_to_url   s    r   c             C   s   |  j  d  s' t d j t       t j |   \ } } } } } | sX | d k ra d } n4 t j d k r} d | } n t d j t       t	 j
 | |  } | S)z(
    Convert a file: URL to a path.
    zfile:z9You can only turn file: urls into filenames (not {url!r})	localhost win32z\\z?non-local file URIs are not supported on this platform: {url!r})
startswithAssertionErrorformatlocalsr   urlsplitsysplatform
ValueErrorr   url2pathname)r   _netlocr   r   r   r   url_to_path   s    	r'   )r   r!   Zpip._vendor.six.moves.urllibr   r   r   r   Zpip._internal.utils.typingr   Ztypingr   r   r   r   r   r'   r   r   r   r   <module>   s   