XylotrechusZ
U
ʗRe� � @ sp d dl Z d dlZd dlZd dlZd dlmZ ddlmZ e ee d�dd�Z
e e d�d d
�Ze e d�dd�ZdS )
� N)�Optional� )�WINDOWS)�url�returnc C s d| krd S | � dd�d �� S )N�:r r )�split�lower)r � r
��/builddir/build/BUILDROOT/alt-python38-pip-22.2.1-2.el8.x86_64/opt/alt/python38/lib/python3.8/site-packages/pip/_internal/utils/urls.py�get_url_scheme
s r )�pathr c C s. t j�t j�| ��} tj�dtj�| ��}|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�std| �d���tj�| �\}}}}}|r<|dkrBd}ntrPd| }ntd| ����tj�|| �}tr�|s�t |�dkr�|d d
kr�|d t
jkr�|dd
� dkr�|dd� }|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)�
startswith�AssertionErrorr 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