U
    pdG                     @   s   d Z dd Zdd ZdS )zConvert 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   ddl }ddl}| dd} d| kr\| dd dkr@| dd } | d}|jd	|S | d}t|dks|d d
 |jkrd|  }t	||d d
 
 }|d d}|d }|D ]}|r|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parseZunquotejoinlenZascii_lettersOSErrorupperendswith)Zurlr
   urllib
componentscomperrordrivepath r    /usr/lib/python3.8/nturl2path.pyurl2pathname   s(    	

r   c                 C   s4  ddl }| dd dkrf| dd } | dd  dkrJd| dd  } n| dd d	krftd
|  d	| kr| dd dkrd|  } | d}|jd|S | jd	dd}t|dkst|d dkrd
|  }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\\?\zUNC\r   r	   r   r   z
Bad path: z\\r   )maxsplitz///)r   r   r   r   r   Zquoter   r   )pr   r   r   r   r   r   r   r   r   pathname2url-   s.    
r   N)__doc__r   r   r   r   r   r   <module>   s   %