PHP 8.2.30
Preview: fnmatch.py Size: 3.09 KB
//opt/alt/python34/lib64/python3.4/fnmatch.py

"""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.)
"""
import os
import posixpath
import re
import functools

__all__ = ["filter", "fnmatch", "fnmatchcase", "translate"]

def fnmatch(name, pat):
    """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).
    """
    name = os.path.normcase(name)
    pat = os.path.normcase(pat)
    return fnmatchcase(name, pat)

@functools.lru_cache(maxsize=256, typed=True)
def _compile_pattern(pat):
    if isinstance(pat, bytes):
        pat_str = str(pat, 'ISO-8859-1')
        res_str = translate(pat_str)
        res = bytes(res_str, 'ISO-8859-1')
    else:
        res = translate(pat)
    return re.compile(res).match

def filter(names, pat):
    """Return the subset of the list NAMES that match PAT."""
    result = []
    pat = os.path.normcase(pat)
    match = _compile_pattern(pat)
    if os.path is posixpath:
        # normcase on posix is NOP. Optimize it away from the loop.
        for name in names:
            if match(name):
                result.append(name)
    else:
        for name in names:
            if match(os.path.normcase(name)):
                result.append(name)
    return result

def fnmatchcase(name, pat):
    """Test whether FILENAME matches PATTERN, including case.

    This is a version of fnmatch() which doesn't case-normalize
    its arguments.
    """
    match = _compile_pattern(pat)
    return match(name) is not None


def translate(pat):
    """Translate a shell PATTERN to a regular expression.

    There is no way to quote meta-characters.
    """

    i, n = 0, len(pat)
    res = ''
    while i < n:
        c = pat[i]
        i = i+1
        if c == '*':
            res = res + '.*'
        elif c == '?':
            res = res + '.'
        elif c == '[':
            j = i
            if j < n and pat[j] == '!':
                j = j+1
            if j < n and pat[j] == ']':
                j = j+1
            while j < n and pat[j] != ']':
                j = j+1
            if j >= n:
                res = res + '\\['
            else:
                stuff = pat[i:j].replace('\\','\\\\')
                i = j+1
                if stuff[0] == '!':
                    stuff = '^' + stuff[1:]
                elif stuff[0] == '^':
                    stuff = '\\' + stuff
                res = '%s[%s]' % (res, stuff)
        else:
            res = res + re.escape(c)
    return res + '\Z(?ms)'

Directory Contents

Dirs: 32 × Files: 163

Name Size Perms Modified Actions
asyncio DIR
- drwxr-xr-x 2024-05-23 07:04:39
Edit Download
- drwxr-xr-x 2024-05-23 07:04:39
Edit Download
- drwxr-xr-x 2024-05-23 07:04:39
Edit Download
- drwxr-xr-x 2024-05-23 07:10:52
Edit Download
ctypes DIR
- drwxr-xr-x 2024-05-23 07:04:39
Edit Download
curses DIR
- drwxr-xr-x 2024-05-23 07:04:39
Edit Download
dbm DIR
- drwxr-xr-x 2024-05-23 07:04:39
Edit Download
distutils DIR
- drwxr-xr-x 2024-05-23 07:04:39
Edit Download
email DIR
- drwxr-xr-x 2024-05-23 07:04:39
Edit Download
encodings DIR
- drwxr-xr-x 2024-05-23 07:04:39
Edit Download
ensurepip DIR
- drwxr-xr-x 2024-05-23 07:04:39
Edit Download
html DIR
- drwxr-xr-x 2024-05-23 07:04:39
Edit Download
http DIR
- drwxr-xr-x 2024-05-23 07:04:39
Edit Download
idlelib DIR
- drwxr-xr-x 2024-05-23 07:04:39
Edit Download
importlib DIR
- drwxr-xr-x 2024-05-23 07:04:39
Edit Download
json DIR
- drwxr-xr-x 2024-05-23 07:04:39
Edit Download
- drwxr-xr-x 2024-05-23 07:04:39
Edit Download
lib2to3 DIR
- drwxr-xr-x 2024-05-23 07:04:39
Edit Download
logging DIR
- drwxr-xr-x 2024-05-23 07:04:39
Edit Download
- drwxr-xr-x 2024-05-23 07:04:39
Edit Download
- drwxr-xr-x 2024-05-23 07:04:39
Edit Download
- drwxr-xr-x 2024-05-23 07:04:39
Edit Download
- drwxr-xr-x 2024-05-23 07:04:39
Edit Download
sqlite3 DIR
- drwxr-xr-x 2024-05-23 07:04:39
Edit Download
test DIR
- drwxr-xr-x 2024-05-23 07:04:39
Edit Download
unittest DIR
- drwxr-xr-x 2024-05-23 07:04:39
Edit Download
urllib DIR
- drwxr-xr-x 2024-05-23 07:04:39
Edit Download
venv DIR
- drwxr-xr-x 2024-05-23 07:04:39
Edit Download
wsgiref DIR
- drwxr-xr-x 2024-05-23 07:04:39
Edit Download
xml DIR
- drwxr-xr-x 2024-05-23 07:04:39
Edit Download
xmlrpc DIR
- drwxr-xr-x 2024-05-23 07:04:39
Edit Download
- drwxr-xr-x 2024-05-23 07:04:38
Edit Download
8.42 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
30.84 KB lrw-r--r-- 2024-04-17 17:10:02
Edit Download
475 B lrw-r--r-- 2024-04-17 17:09:57
Edit Download
87.92 KB lrw-r--r-- 2024-04-17 17:10:01
Edit Download
11.75 KB lrw-r--r-- 2024-04-17 17:10:01
Edit Download
11.55 KB lrw-r--r-- 2024-04-17 17:10:00
Edit Download
20.51 KB lrw-r--r-- 2024-04-17 17:10:02
Edit Download
19.71 KB lrwxr-xr-x 2024-04-17 17:09:57
Edit Download
22.81 KB lrw-r--r-- 2024-04-17 17:10:00
Edit Download
13.60 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
2.53 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
18.42 KB lrw-r--r-- 2024-04-17 17:10:01
Edit Download
22.40 KB lrw-r--r-- 2024-04-17 17:10:01
Edit Download
35.10 KB lrwxr-xr-x 2024-04-17 17:10:01
Edit Download
11.76 KB lrw-r--r-- 2024-04-17 17:10:02
Edit Download
5.30 KB lrw-r--r-- 2024-04-17 17:09:58
Edit Download
14.51 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
9.80 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
35.07 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
5.85 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
3.97 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
9.39 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
48.53 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
11.37 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
8.79 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
6.67 KB lrw-r--r-- 2024-04-17 17:10:01
Edit Download
5.20 KB lrwxr-xr-x 2024-04-17 17:09:57
Edit Download
1.83 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
15.81 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
74.03 KB lrw-r--r-- 2024-04-17 17:10:02
Edit Download
223.33 KB lrw-r--r-- 2024-04-17 17:10:00
Edit Download
79.77 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
16.76 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
102.04 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
2.75 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
21.03 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
9.60 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
14.52 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
3.09 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
14.82 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
22.66 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
37.63 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
27.84 KB lrw-r--r-- 2024-04-17 17:10:02
Edit Download
3.79 KB lrw-r--r-- 2024-04-17 17:10:02
Edit Download
7.31 KB lrw-r--r-- 2024-04-17 17:10:01
Edit Download
5.93 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
20.28 KB lrw-r--r-- 2024-04-17 17:10:01
Edit Download
3.38 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
23.74 KB lrw-r--r-- 2024-04-17 17:10:01
Edit Download
9.62 KB lrw-r--r-- 2024-04-17 17:10:02
Edit Download
17.58 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
4.94 KB lrw-r--r-- 2024-04-17 17:09:58
Edit Download
49.09 KB lrw-r--r-- 2024-04-17 17:10:01
Edit Download
3.45 KB lrw-r--r-- 2024-04-17 17:10:01
Edit Download
9.75 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
102.19 KB lrw-r--r-- 2024-04-17 17:10:00
Edit Download
3.32 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
69.92 KB lrw-r--r-- 2024-04-17 17:10:01
Edit Download
2.17 KB lrwxr-xr-x 2024-04-17 17:10:01
Edit Download
3.86 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
72.78 KB lrw-r--r-- 2024-04-17 17:10:00
Edit Download
18.92 KB lrw-r--r-- 2024-04-17 17:10:02
Edit Download
5.49 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
2.67 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
76.54 KB lrw-r--r-- 2024-04-17 17:10:00
Edit Download
7.26 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
20.29 KB lrw-r--r-- 2024-04-17 17:10:00
Edit Download
22.87 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
5.61 KB lrw-r--r-- 2024-04-17 17:09:58
Edit Download
42.07 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
20.00 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
2.39 KB lrw-r--r-- 2024-04-17 17:10:01
Edit Download
10.00 KB lrw-r--r-- 2024-04-17 17:10:02
Edit Download
5.31 KB lrw-r--r-- 2024-04-17 17:10:02
Edit Download
8.98 KB lrw-r--r-- 2024-04-17 17:10:00
Edit Download
58.93 KB lrw-r--r-- 2024-04-17 17:10:01
Edit Download
33.09 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
41.47 KB lrw-r--r-- 2024-04-17 17:10:00
Edit Download
59.56 KB lrwxr-xr-x 2024-04-17 17:09:57
Edit Download
54.68 KB lrw-r--r-- 2024-04-17 17:09:58
Edit Download
89.61 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
8.71 KB lrw-r--r-- 2024-04-17 17:10:01
Edit Download
20.72 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
45.67 KB lrwxr-xr-x 2024-04-17 17:09:57
Edit Download
31.05 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
13.98 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
13.13 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
14.57 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
21.52 KB lrwxr-xr-x 2024-04-17 17:09:57
Edit Download
25.70 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
4.65 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
13.20 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
100.60 KB lrwxr-xr-x 2024-04-17 17:09:57
Edit Download
6.94 KB lrw-r--r-- 2024-04-17 17:10:00
Edit Download
8.63 KB lrw-r--r-- 2024-04-17 17:10:01
Edit Download
7.09 KB lrwxr-xr-x 2024-04-17 17:10:01
Edit Download
25.47 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
15.24 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
4.99 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
5.93 KB lrw-r--r-- 2024-04-17 17:10:02
Edit Download
10.56 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
6.21 KB lrw-r--r-- 2024-04-17 17:10:00
Edit Download
16.70 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
8.33 KB lrw-r--r-- 2024-04-17 17:10:01
Edit Download
11.28 KB lrw-r--r-- 2024-04-17 17:10:02
Edit Download
38.97 KB lrw-r--r-- 2024-04-17 17:10:01
Edit Download
21.05 KB lrw-r--r-- 2024-04-17 17:10:00
Edit Download
29.29 KB lrwxr-xr-x 2024-04-17 17:09:57
Edit Download
38.06 KB lrwxr-xr-x 2024-04-17 17:09:57
Edit Download
6.11 KB lrw-r--r-- 2024-04-17 17:10:01
Edit Download
18.62 KB lrw-r--r-- 2024-04-17 17:10:02
Edit Download
23.80 KB lrw-r--r-- 2024-04-17 17:10:02
Edit Download
19.44 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
7.10 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
30.69 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
33.93 KB lrw-r--r-- 2024-04-17 17:10:00
Edit Download
4.30 KB lrw-r--r-- 2024-04-17 17:10:00
Edit Download
19.10 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
11.18 KB lrw-r--r-- 2024-04-17 17:10:01
Edit Download
12.61 KB lrw-r--r-- 2024-04-17 17:09:58
Edit Download
257 B lrw-r--r-- 2024-04-17 17:09:57
Edit Download
63.04 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
17.67 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
2.00 KB lrwxr-xr-x 2024-04-17 17:09:57
Edit Download
7.23 KB lrw-r--r-- 2024-04-17 17:10:01
Edit Download
24.05 KB lrw-r--r-- 2024-04-17 17:10:01
Edit Download
11.14 KB lrwxr-xr-x 2024-04-17 17:10:01
Edit Download
89.41 KB lrwxr-xr-x 2024-04-17 17:09:57
Edit Download
22.53 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
22.00 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
18.83 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
1003 B lrw-r--r-- 2024-04-17 17:09:58
Edit Download
47.66 KB lrw-r--r-- 2024-04-17 17:10:00
Edit Download
11.69 KB lrwxr-xr-x 2024-04-17 17:09:57
Edit Download
2.96 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
25.00 KB lrw-r--r-- 2024-04-17 17:10:01
Edit Download
30.75 KB lrwxr-xr-x 2024-04-17 17:09:57
Edit Download
10.91 KB lrw-r--r-- 2024-04-17 17:10:01
Edit Download
15.28 KB lrw-r--r-- 2024-04-17 17:10:01
Edit Download
879 B lrw-r--r-- 2024-04-17 17:09:57
Edit Download
5.28 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
6.61 KB lrwxr-xr-x 2024-04-17 17:09:57
Edit Download
23.17 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
13.97 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
17.27 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
18.93 KB lrw-r--r-- 2024-04-17 17:10:00
Edit Download
20.93 KB lrwxr-xr-x 2024-04-17 17:10:01
Edit Download
5.77 KB lrw-r--r-- 2024-04-17 17:10:02
Edit Download
66.94 KB lrw-r--r-- 2024-04-17 17:10:02
Edit Download
1.27 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
19.43 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
8.12 KB lrw-r--r-- 2024-04-17 17:10:00
Edit Download
4.76 KB lrw-r--r-- 2024-04-17 17:10:01
Edit Download
14.26 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
18.65 KB lrw-r--r-- 2024-04-17 17:10:01
Edit Download
72.16 KB lrw-r--r-- 2024-04-17 17:09:58
Edit Download
3.04 KB lrw-r--r-- 2024-04-17 17:09:58
Edit Download
21.54 KB lrw-r--r-- 2024-04-17 17:10:02
Edit Download
28.05 KB lrw-r--r-- 2024-04-17 17:10:01
Edit Download
7.24 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
5.57 KB lrw-r--r-- 2024-04-17 17:09:57
Edit Download
4.48 KB lrw-r--r-- 2024-04-17 17:10:02
Edit Download
64 B lrw-r--r-- 2024-04-17 17:10:01
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).