AlkantarClanX12

Your IP : 3.129.63.252


Current Path : /proc/self/root/opt/alt/python35/lib64/python3.5/__pycache__/
Upload File :
Current File : //proc/self/root/opt/alt/python35/lib64/python3.5/__pycache__/fnmatch.cpython-35.pyc



��Yf[�@s�dZddlZddlZddlZddlZddddgZdd�Zejdd	d
d�dd
��Zdd�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�	translatecCs1tjj|�}tjj|�}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�,/opt/alt/python35/lib64/python3.5/fnmatch.pyrs�maxsize��typedTcCsXt|t�r<t|d�}t|�}t|d�}nt|�}tj|�jS)Nz
ISO-8859-1)�
isinstance�bytes�strr�re�compile�match)r
Zpat_strZres_str�resrrr�_compile_pattern&srcCs�g}tjj|�}t|�}tjtkr`x`|D]}||�r:|j|�q:Wn6x3|D]+}|tjj|��rg|j|�qgW|S)z3Return the subset of the list 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@scCs�dt|�}}d}x�||kr�||}|d}|dkrU|d}q|dkrn|d}q|dkr�|}||kr�||d	kr�|d}||kr�||d
kr�|d}x*||kr�||d
kr�|d}q�W||kr|d}q�|||�jdd
�}|d}|dd	kr_d|dd�}n|ddkryd|}d||f}q|tj|�}qW|dS)zfTranslate a shell PATTERN to a regular expression.

    There is no way to quote meta-characters.
    r���*z.*�?�.�[�!�]z\[�\z\\�^Nz%s[%s]z\Z(?ms))�len�replacer�escape)r
�i�nr�c�jZstuffrrrrJs8








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