File Manager

Current Directory: /lib64/python3.6/__pycache__
Viewing File: /lib64/python3.6/__pycache__/fnmatch.cpython-36.pyc
3 \^ �@sjdZddlZddlZddlZddlZddddgZdd�Zejdd d �d d ��Zd d�Z dd�Z dd�Z dS)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"tjj|�}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 �/usr/lib64/python3.6/fnmatch.pyrs  �T)�maxsize�typedcCs<t|t�r(t|d�}t|�}t|d�}nt|�}tj|�jS)Nz ISO-8859-1)� isinstance�bytes�strr�re�compile�match)r Zpat_strZres_str�resr r r �_compile_pattern&s    rcCspg}tjj|�}t|�}tjtkrDxH|D]}||�r(|j|�q(Wn(x&|D]}|tjj|��rJ|j|�qJW|S)z3Return the subset of the list NAMES that match PAT.)rrrr� posixpath�append)�namesr �resultrr r r r 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 rr r r r@scCsHdt|�}}d}�x*||k�r>||}|d}|dkrB|d}q|dkrT|d}q|dk�r.|}||kr~||d kr~|d}||kr�||d kr�|d}x ||kr�||d kr�|d}q�W||kr�|d }n^|||�jd d �}|d}|dd k�r d|dd�}n|ddk�r d |}d||f}q|tj|�}qWd|S)zfTranslate a shell PATTERN to a regular expression. There is no way to quote meta-characters. r���*z.*�?�.�[�!�]z\[�\z\\�^Nz%s[%s]z (?s:%s)\Z)�len�replacer�escape)r �i�nr�c�jZstuffr r r rJs8     ) �__doc__rrr� functools�__all__r� lru_cacherrrrr r r r �<module> s