o
    Ëý°jß  ã                   @   sv   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e	dee	 fdd„Z
d	e	de	fd
d„Zde	de	f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
   ú‹/root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/pip/_internal/utils/urls.pyÚget_url_scheme
   s   r   Úpathc                 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r!d}ntr(d| }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   s0   ÿ
þ
ÿÿþr(   )r   r$   Úurllib.parser   Úurllib.requestÚtypingr   Úcompatr   Ústrr   r   r(   r
   r
   r
   r   Ú<module>   s    
