o
    £pfõ  ã                   @   sR   d dl Z d dlZd dlZd dlZe jrd dl mZ e ¡ dkZdd„ Zdd„ Z	dS )é    N)ÚTextÚWindowsc                 C   sp   t r&t| ƒr&|  dd¡\}}tjr| d¡}tjjj 	|¡}d 
||¡} | S tjr.|  d¡} tjjj 	| ¡} | S )a0  Quote a URL without quoting the Windows drive letter, if any.

    On Windows, it will separate drive letter and quote Windows
    path alone. No magic on Unix-like path, just pythonic
    `~urllib.request.pathname2url`.

    Arguments:
       path_snippet (str): a file path, relative or absolute.

    ú:é   zutf-8z{}:{})Ú_WINDOWS_PLATFORMÚ_has_drive_letterÚsplitÚsixÚPY2ÚencodeÚmovesÚurllibÚrequestÚpathname2urlÚformat)Úpath_snippetÚdrive_letterÚpath© r   úF/home/ertert/spirit/venv/lib/python3.10/site-packages/fs/_url_tools.pyÚ	url_quote   s   
ý
r   c                 C   s   d}t  || ¡duS )aC  Check whether a path contains a drive letter.

    Arguments:
       path_snippet (str): a file path, relative or absolute.

    Example:
        >>> _has_drive_letter("D:/Data")
        True
        >>> _has_drive_letter(r"C:\System32\ test")
        True
        >>> _has_drive_letter("/tmp/abc:test")
        False

    z
.:[/\\].*$N)ÚreÚmatch)r   Úwindows_drive_patternr   r   r   r   &   s   r   )
ÚtypingÚplatformr   r	   ÚTYPE_CHECKINGr   Úsystemr   r   r   r   r   r   r   Ú<module>   s    