Your IP : 3.15.214.244


Current Path : /usr/lib64/python3.8/__pycache__/
Upload File :
Current File : //usr/lib64/python3.8/__pycache__/fnmatch.cpython-38.opt-1.pyc

U

e5d��@sjdZddlZddlZddlZddlZddddgZdd�Zejdd	d
�dd��Zd
d�Z	dd�Z
dd�ZdS)a�Filename matching with shell patterns.

fnmatch(FILENAME, PATTERN) matches according to the local convention.
fnmatchcase(FILENAME, PATTERN) always takes case in account.

The functions operate by translating the pattern into a regular
expression.  They cache the compiled regular expressions for speed.

The function translate(PATTERN) returns a regular expression
corresponding to PATTERN.  (It does not compile it.)
�N�filter�fnmatch�fnmatchcase�	translatecCs"tj�|�}tj�|�}t||�S)a�Test whether FILENAME matches PATTERN.

    Patterns are Unix shell style:

    *       matches everything
    ?       matches any single character
    [seq]   matches any character in seq
    [!seq]  matches any char not in seq

    An initial period in FILENAME is not special.
    Both FILENAME and PATTERN are first case-normalized
    if the operating system requires it.
    If you don't want this, use fnmatchcase(FILENAME, PATTERN).
    )�os�path�normcaser)�name�pat�r�/usr/lib64/python3.8/fnmatch.pyrs�T)�maxsize�typedcCs<t|t�r(t|d�}t|�}t|d�}nt|�}t�|�jS)Nz
ISO-8859-1)�
isinstance�bytes�strr�re�compile�match)r
Zpat_strZres_str�resrrr�_compile_pattern&s

rcCshg}tj�|�}t|�}tjtkr@|D]}||�r&|�|�q&n$|D]}|tj�|��rD|�|�qD|S)zJConstruct a list from those elements of the iterable NAMES that match PAT.)rrrr�	posixpath�append)�namesr
�resultrr	rrrr0s
cCst|�}||�dk	S)z�Test whether FILENAME matches PATTERN, including case.

    This is a version of fnmatch() which doesn't case-normalize
    its arguments.
    N)r)r	r
rrrrr@sc	Cs�dt|�}}d}||k�r�||}|d}|dkr>|d}q|dkrP|d}q|dk�r�|}||krz||d	krz|d}||kr�||d
kr�|d}||kr�||d
kr�|d}q�||kr�|d}�q�|||�}d|kr�|�d
d�}n�g}||d	k�r|dn|d}|�d||�}|dk�r(�qN|�|||��|d}|d}�q|�|||��d�dd�|D��}t�dd|�}|d}|dd	k�r�d|dd�}n|ddk�r�d
|}d||f}q|t�|�}qd|S)zfTranslate a shell PATTERN to a regular expression.

    There is no way to quote meta-characters.
    r���*z.*�?�.�[�!�]z\[z--�\�\\��-�css"|]}|�dd��dd�VqdS)r$r%r'z\-N)�replace)�.0�srrr�	<genexpr>ts�ztranslate.<locals>.<genexpr>z([&~|])z\\\1�^N)r-r!z%s[%s]z	(?s:%s)\Z)�lenr)�findr�joinr�sub�escape)	r
�i�nr�c�jZstuffZchunks�krrrrJsV






�)�__doc__rrr�	functools�__all__r�	lru_cacherrrrrrrr�<module>s
	

?>