Plan 9 from Bell Labs’s /usr/web/sources/contrib/stallion/root/sys/lib/python2.7/fnmatch.pyc

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


�`^c@sadZddlZddddgZiZdZd�Zd	�Zd
�Zd�Zd�Z	dS(
s�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.)
i�Ntfiltertfnmatchtfnmatchcaset	translateidcCstj�dS(sClear the pattern cacheN(t_cachetclear(((s/sys/lib/python2.7/fnmatch.pyt_purgescCs=ddl}|jj|�}|jj|�}t||�S(s�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).
    i�N(tostpathtnormcaseR(tnametpatR((s/sys/lib/python2.7/fnmatch.pyRscCsddl}ddl}g}|jj|�}|tkr}t|�}tt�tkrgtj�nt	j
|�t|<nt|j}|j|kr�xf|D]"}||�r�|j|�q�q�Wn9x6|D].}||jj|��r�|j|�q�q�W|S(s2Return the subset of the list NAMES that match PATi�N(
Rt	posixpathRR	RRtlent	_MAXCACHERtretcompiletmatchtappend(tnamesRRRtresulttresRR
((s/sys/lib/python2.7/fnmatch.pyR-s"



cCsd|tkrMt|�}tt�tkr7tj�ntj|�t|<nt|j|�dk	S(s�Test whether FILENAME matches PATTERN, including case.

    This is a version of fnmatch() which doesn't case-normalize
    its arguments.
    N(	RRR
RRRRRtNone(R
RR((s/sys/lib/python2.7/fnmatch.pyRCs
cCs�dt|�}}d}x�||kr�||}|d}|dkrU|d}q|dkrn|d}q|dkr�|}||kr�||d	kr�|d}n||kr�||d
kr�|d}nx*||kr�|d
kr�d}q�W||kr|d}q�|||!jdd
�}|d}|dd	kr\d|d}n|ddkryd|}nd||f}q|tj|�}qW|dS(sfTranslate a shell PATTERN to a regular expression.

    There is no way to quote meta-characters.
    itit*s.*t?t.t[t!t]s\[s\s\\t^s%s[%s]s\Z(?ms)(R
treplaceRtescape(RtitnRtctjtstuff((s/sys/lib/python2.7/fnmatch.pyRQs8








(
t__doc__Rt__all__RRRRRRR(((s/sys/lib/python2.7/fnmatch.pyt<module>s				

Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to webmaster@9p.io.