a
    hbòfß  ã                   @   sp   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 e	ee	 dœdd„Z
e	e	dœd	d
„Ze	e	dœdd„ZdS )é    N)ÚOptionalé   )ÚWINDOWS)ÚurlÚreturnc                 C   s    d| vrd S |   dd¡d  ¡ S )Nú:r   r   )ÚsplitÚlower)r   © r
   úU/home/httpd/docs/test/DocsMgr/lib/python3.9/site-packages/pip/_internal/utils/urls.pyÚget_url_scheme
   s    r   )Úpathr   c                 C   s.   t j t 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.
    úfile:)	Úosr   ÚnormpathÚabspathÚurllibÚparseÚurljoinÚrequestÚpathname2url)r   r   r
   r
   r   Úpath_to_url   s    r   c                 C   s¼   |   d¡sJ d| ›d�ƒ‚tj | ¡\}}}}}|r<|dkrBd}ntrPd| }ntd| ›�ƒ‚tj || ¡}tr¸|s¸t|ƒdkr¸|d	 d
kr¸|d t	j
v r¸|dd… dv r¸|dd… }|S )z(
    Convert a file: URL to a path.
    r   z1You can only turn file: urls into filenames (not ú)Ú	localhostÚ z\\z8non-local file URIs are not supported on this platform: é   r   ú/r   é   é   )r   z:/N)Ú
startswithr   r   Úurlsplitr   Ú
ValueErrorr   Úurl2pathnameÚlenÚstringÚascii_letters)r   Ú_Únetlocr   r
   r
   r   Úurl_to_path   s8    ÿ
þ
ÿÿþ
ý
üûúr(   )r   r$   Úurllib.parser   Úurllib.requestÚtypingr   Úcompatr   Ústrr   r   r(   r
   r
   r
   r   Ú<module>   s   
