File: //lib/python3.10/__pycache__/nturl2path.cpython-310.pyc
o
    E�hG  �                   @   s   d Z dd� Zdd� ZdS )z�Convert a NT pathname to a file URL and vice versa.
This module only exists to provide OS-specific code
for urllib.requests, thus do not use directly.
c                 C   s�   ddl }ddl}| �dd�} d| vr.| dd� dkr | dd� } | �d�}|j�d	�|��S | �d�}t|�dksB|d d
 |jvrJd|  }t	|��|d d
 �
� }|d �d�}|d }|D ]}|rm|d	 |j�|� }q_|�d�r|| �d�r||d	7 }|S )
z{OS-specific conversion from a relative URL of the 'file' scheme
    to a file system path; not recommended for general use.�    N�:�|�   z////�   �/�\���z	Bad URL: �   )�string�urllib.parse�replace�split�parse�unquote�join�len�
ascii_letters�OSError�upper�endswith)�urlr
   �urllib�
components�comp�error�drive�path� r   �!/usr/lib/python3.10/nturl2path.py�url2pathname   s*   	
�r   c                 C   s0  ddl }| dd� dkr3| dd� } | dd� �� dkr%d| dd�  } n| dd� d	kr3td
|  ��d	| vrQ| dd� dkrCd|  } | �d�}|j�d�|��S | jd	dd
�}t|�dksft|d �dkrnd
|  }t|��|j�|d �� �}|d �d�}d| d	 }|D ]}|r�|d |j�|� }q�|S )z{OS-specific conversion from a file system path to a relative URL
    of the 'file' scheme; not recommended for general use.r   Nr   z\\?\zUNC\r   r	   r   r   z
Bad path: z\\r   )�maxsplitz///)r   r   r   r
   r   �quoter   r   )�pr   r   r   r   r   r   r   r   r   �pathname2url-   s0   
�r#   N)�__doc__r   r#   r   r   r   r   �<module>   s    %