�����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.188
Web Server : Apache
System : Linux bob 5.15.85-1-pve #1 SMP PVE 5.15.85-1 (2023-02-01T00:00Z) 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) :  /etc/ldap/../etckeeper/../../usr/lib/perl5/../python3.8/

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

Current File : //etc/ldap/../etckeeper/../../usr/lib/perl5/../python3.8/linecache.py
"""Cache lines from Python source files.

This is intended to read lines from modules imported -- hence if a filename
is not found, it will look down the module search path for a file by
that name.
"""

import functools
import sys
import os
import tokenize

__all__ = ["getline", "clearcache", "checkcache"]

def getline(filename, lineno, module_globals=None):
    lines = getlines(filename, module_globals)
    if 1 <= lineno <= len(lines):
        return lines[lineno-1]
    else:
        return ''


# The cache

# The cache. Maps filenames to either a thunk which will provide source code,
# or a tuple (size, mtime, lines, fullname) once loaded.
cache = {}


def clearcache():
    """Clear the cache entirely."""

    global cache
    cache = {}


def getlines(filename, module_globals=None):
    """Get the lines for a Python source file from the cache.
    Update the cache if it doesn't contain an entry for this file already."""

    if filename in cache:
        entry = cache[filename]
        if len(entry) != 1:
            return cache[filename][2]

    try:
        return updatecache(filename, module_globals)
    except MemoryError:
        clearcache()
        return []


def checkcache(filename=None):
    """Discard cache entries that are out of date.
    (This is not checked upon each call!)"""

    if filename is None:
        filenames = list(cache.keys())
    else:
        if filename in cache:
            filenames = [filename]
        else:
            return

    for filename in filenames:
        entry = cache[filename]
        if len(entry) == 1:
            # lazy cache entry, leave it lazy.
            continue
        size, mtime, lines, fullname = entry
        if mtime is None:
            continue   # no-op for files loaded via a __loader__
        try:
            stat = os.stat(fullname)
        except OSError:
            cache.pop(filename, None)
            continue
        if size != stat.st_size or mtime != stat.st_mtime:
            cache.pop(filename, None)


def updatecache(filename, module_globals=None):
    """Update a cache entry and return its list of lines.
    If something's wrong, print a message, discard the cache entry,
    and return an empty list."""

    if filename in cache:
        if len(cache[filename]) != 1:
            cache.pop(filename, None)
    if not filename or (filename.startswith('<') and filename.endswith('>')):
        return []

    fullname = filename
    try:
        stat = os.stat(fullname)
    except OSError:
        basename = filename

        # Realise a lazy loader based lookup if there is one
        # otherwise try to lookup right now.
        if lazycache(filename, module_globals):
            try:
                data = cache[filename][0]()
            except (ImportError, OSError):
                pass
            else:
                if data is None:
                    # No luck, the PEP302 loader cannot find the source
                    # for this module.
                    return []
                cache[filename] = (
                    len(data), None,
                    [line+'\n' for line in data.splitlines()], fullname
                )
                return cache[filename][2]

        # Try looking through the module search path, which is only useful
        # when handling a relative filename.
        if os.path.isabs(filename):
            return []

        for dirname in sys.path:
            try:
                fullname = os.path.join(dirname, basename)
            except (TypeError, AttributeError):
                # Not sufficiently string-like to do anything useful with.
                continue
            try:
                stat = os.stat(fullname)
                break
            except OSError:
                pass
        else:
            return []
    try:
        with tokenize.open(fullname) as fp:
            lines = fp.readlines()
    except OSError:
        return []
    if lines and not lines[-1].endswith('\n'):
        lines[-1] += '\n'
    size, mtime = stat.st_size, stat.st_mtime
    cache[filename] = size, mtime, lines, fullname
    return lines


def lazycache(filename, module_globals):
    """Seed the cache for filename with module_globals.

    The module loader will be asked for the source only when getlines is
    called, not immediately.

    If there is an entry in the cache already, it is not altered.

    :return: True if a lazy load is registered in the cache,
        otherwise False. To register such a load a module loader with a
        get_source method must be found, the filename must be a cachable
        filename, and the filename must not be already cached.
    """
    if filename in cache:
        if len(cache[filename]) == 1:
            return True
        else:
            return False
    if not filename or (filename.startswith('<') and filename.endswith('>')):
        return False
    # Try for a __loader__, if available
    if module_globals and '__loader__' in module_globals:
        name = module_globals.get('__name__')
        loader = module_globals['__loader__']
        get_source = getattr(loader, 'get_source', None)

        if name and get_source:
            get_lines = functools.partial(get_source, name)
            cache[filename] = (get_lines,)
            return True
    return False

NineSec Team - 2022
Name
Size
Last Modified
Owner
Permissions
Options
..
--
February 12 2024 9:08:39
root
0755
__pycache__
--
December 13 2023 9:45:56
root
0755
asyncio
--
December 13 2023 9:45:56
root
0755
collections
--
December 13 2023 9:43:48
root
0755
concurrent
--
December 13 2023 9:45:56
root
0755
ctypes
--
December 13 2023 9:45:56
root
0755
curses
--
December 13 2023 9:45:56
root
0755
dbm
--
December 13 2023 9:45:56
root
0755
distutils
--
December 13 2023 9:42:32
root
0755
email
--
December 13 2023 9:45:53
root
0755
encodings
--
December 13 2023 9:43:48
root
0755
html
--
December 13 2023 9:45:56
root
0755
http
--
December 13 2023 9:45:56
root
0755
importlib
--
December 13 2023 9:43:48
root
0755
json
--
December 13 2023 9:45:56
root
0755
lib-dynload
--
December 13 2023 9:42:33
root
0755
lib2to3
--
March 29 2022 9:54:17
root
0755
logging
--
December 13 2023 9:43:48
root
0755
multiprocessing
--
December 13 2023 9:45:56
root
0755
pydoc_data
--
December 13 2023 9:45:56
root
0755
sqlite3
--
December 13 2023 9:45:56
root
0755
test
--
December 13 2023 9:45:56
root
0755
unittest
--
December 13 2023 9:45:56
root
0755
urllib
--
December 13 2023 9:45:53
root
0755
venv
--
December 13 2023 9:45:56
root
0755
wsgiref
--
December 13 2023 9:45:56
root
0755
xml
--
December 13 2023 9:45:56
root
0755
xmlrpc
--
December 13 2023 9:45:56
root
0755
LICENSE.txt
13.599 KB
November 22 2023 11:22:35
root
0644
__future__.py
5.026 KB
November 22 2023 11:22:35
root
0644
__phello__.foo.py
0.063 KB
November 22 2023 11:22:35
root
0644
_bootlocale.py
1.759 KB
November 22 2023 11:22:35
root
0644
_collections_abc.py
25.488 KB
November 22 2023 11:22:35
root
0644
_compat_pickle.py
8.544 KB
November 22 2023 11:22:35
root
0644
_compression.py
5.215 KB
November 22 2023 11:22:35
root
0644
_dummy_thread.py
5.886 KB
November 22 2023 11:22:35
root
0644
_markupbase.py
14.256 KB
November 22 2023 11:22:35
root
0644
_osx_support.py
21.264 KB
November 22 2023 11:22:35
root
0644
_py_abc.py
6.044 KB
November 22 2023 11:22:35
root
0644
_pydecimal.py
223.307 KB
November 22 2023 11:22:35
root
0644
_pyio.py
90.993 KB
November 22 2023 11:22:35
root
0644
_sitebuiltins.py
3.042 KB
November 22 2023 11:22:35
root
0644
_strptime.py
24.676 KB
November 22 2023 11:22:35
root
0644
_sysconfigdata__linux_x86_64-linux-gnu.py
25.229 KB
November 22 2023 11:22:35
root
0644
_sysconfigdata__x86_64-linux-gnu.py
25.229 KB
November 22 2023 11:22:35
root
0644
_threading_local.py
7.051 KB
November 22 2023 11:22:35
root
0644
_weakrefset.py
5.601 KB
November 22 2023 11:22:35
root
0644
abc.py
4.384 KB
November 22 2023 11:22:35
root
0644
aifc.py
32.045 KB
November 22 2023 11:22:35
root
0644
antigravity.py
0.466 KB
November 22 2023 11:22:35
root
0644
argparse.py
94.054 KB
November 22 2023 11:22:35
root
0644
ast.py
18.783 KB
November 22 2023 11:22:35
root
0644
asynchat.py
11.063 KB
November 22 2023 11:22:35
root
0644
asyncore.py
19.623 KB
November 22 2023 11:22:35
root
0644
base64.py
19.904 KB
November 22 2023 11:22:35
root
0755
bdb.py
31.305 KB
November 22 2023 11:22:35
root
0644
binhex.py
13.627 KB
November 22 2023 11:22:35
root
0644
bisect.py
2.162 KB
November 22 2023 11:22:35
root
0644
bz2.py
12.264 KB
November 22 2023 11:22:35
root
0644
cProfile.py
6.834 KB
November 22 2023 11:22:35
root
0755
calendar.py
24.25 KB
November 22 2023 11:22:35
root
0644
cgi.py
33.137 KB
November 22 2023 11:22:35
root
0755
cgitb.py
11.813 KB
November 22 2023 11:22:35
root
0644
chunk.py
5.308 KB
November 22 2023 11:22:35
root
0644
cmd.py
14.512 KB
November 22 2023 11:22:35
root
0644
code.py
10.373 KB
November 22 2023 11:22:35
root
0644
codecs.py
35.808 KB
November 22 2023 11:22:35
root
0644
codeop.py
6.182 KB
November 22 2023 11:22:35
root
0644
colorsys.py
3.969 KB
November 22 2023 11:22:35
root
0644
compileall.py
13.357 KB
November 22 2023 11:22:35
root
0644
configparser.py
53.1 KB
November 22 2023 11:22:35
root
0644
contextlib.py
24.409 KB
November 22 2023 11:22:35
root
0644
contextvars.py
0.126 KB
November 22 2023 11:22:35
root
0644
copy.py
8.458 KB
November 22 2023 11:22:35
root
0644
copyreg.py
6.968 KB
November 22 2023 11:22:35
root
0644
crypt.py
3.525 KB
November 22 2023 11:22:35
root
0644
csv.py
15.766 KB
November 22 2023 11:22:35
root
0644
dataclasses.py
48.802 KB
November 22 2023 11:22:35
root
0644
datetime.py
86.218 KB
November 22 2023 11:22:35
root
0644
decimal.py
0.313 KB
November 22 2023 11:22:35
root
0644
difflib.py
82.088 KB
November 22 2023 11:22:35
root
0644
dis.py
20.088 KB
November 22 2023 11:22:35
root
0644
doctest.py
102.093 KB
November 22 2023 11:22:35
root
0644
dummy_threading.py
2.749 KB
November 22 2023 11:22:35
root
0644
enum.py
37.242 KB
November 22 2023 11:22:35
root
0644
filecmp.py
9.6 KB
November 22 2023 11:22:35
root
0644
fileinput.py
14.364 KB
November 22 2023 11:22:35
root
0644
fnmatch.py
3.983 KB
November 22 2023 11:22:35
root
0644
formatter.py
14.788 KB
November 22 2023 11:22:35
root
0644
fractions.py
23.759 KB
November 22 2023 11:22:35
root
0644
ftplib.py
34.306 KB
November 22 2023 11:22:35
root
0644
functools.py
36.529 KB
November 22 2023 11:22:35
root
0644
genericpath.py
4.858 KB
November 22 2023 11:22:35
root
0644
getopt.py
7.313 KB
November 22 2023 11:22:35
root
0644
getpass.py
5.854 KB
November 22 2023 11:22:35
root
0644
gettext.py
26.919 KB
November 22 2023 11:22:35
root
0644
glob.py
5.563 KB
November 22 2023 11:22:35
root
0644
gzip.py
20.911 KB
November 22 2023 11:22:35
root
0644
hashlib.py
9.502 KB
November 22 2023 11:22:35
root
0644
heapq.py
22.341 KB
November 22 2023 11:22:35
root
0644
hmac.py
6.474 KB
November 22 2023 11:22:35
root
0644
imaplib.py
52.35 KB
November 22 2023 11:22:35
root
0644
imghdr.py
3.719 KB
November 22 2023 11:22:35
root
0644
imp.py
10.289 KB
November 22 2023 11:22:35
root
0644
inspect.py
115.771 KB
November 22 2023 11:22:35
root
0644
io.py
3.458 KB
November 22 2023 11:22:35
root
0644
ipaddress.py
69.965 KB
November 22 2023 11:22:35
root
0644
keyword.py
0.923 KB
November 22 2023 11:22:35
root
0644
linecache.py
5.205 KB
November 22 2023 11:22:35
root
0644
locale.py
76.362 KB
November 22 2023 11:22:35
root
0644
lzma.py
12.679 KB
November 22 2023 11:22:35
root
0644
mailbox.py
76.817 KB
November 22 2023 11:22:35
root
0644
mailcap.py
8.854 KB
November 22 2023 11:22:35
root
0644
mimetypes.py
21.156 KB
November 22 2023 11:22:35
root
0644
modulefinder.py
23.857 KB
November 22 2023 11:22:35
root
0644
netrc.py
5.436 KB
November 22 2023 11:22:35
root
0644
nntplib.py
42.247 KB
November 22 2023 11:22:35
root
0644
ntpath.py
27.084 KB
November 22 2023 11:22:35
root
0644
nturl2path.py
2.819 KB
November 22 2023 11:22:35
root
0644
numbers.py
10.004 KB
November 22 2023 11:22:35
root
0644
opcode.py
5.672 KB
November 22 2023 11:22:35
root
0644
operator.py
10.46 KB
November 22 2023 11:22:35
root
0644
optparse.py
58.954 KB
November 22 2023 11:22:35
root
0644
os.py
38.081 KB
November 22 2023 11:22:35
root
0644
pathlib.py
51.377 KB
November 22 2023 11:22:35
root
0644
pdb.py
61.268 KB
November 22 2023 11:22:35
root
0755
pickle.py
62.956 KB
November 22 2023 11:22:35
root
0644
pickletools.py
91.295 KB
November 22 2023 11:22:35
root
0644
pipes.py
8.707 KB
November 22 2023 11:22:35
root
0644
pkgutil.py
20.958 KB
November 22 2023 11:22:35
root
0644
platform.py
39.478 KB
November 22 2023 11:22:35
root
0755
plistlib.py
31.465 KB
November 22 2023 11:22:35
root
0644
poplib.py
14.724 KB
November 22 2023 11:22:35
root
0644
posixpath.py
15.261 KB
November 22 2023 11:22:35
root
0644
pprint.py
20.98 KB
November 22 2023 11:22:35
root
0644
profile.py
22.982 KB
November 22 2023 11:22:35
root
0755
pstats.py
26.704 KB
November 22 2023 11:22:35
root
0644
pty.py
4.694 KB
November 22 2023 11:22:35
root
0644
py_compile.py
7.957 KB
November 22 2023 11:22:35
root
0644
pyclbr.py
14.897 KB
November 22 2023 11:22:35
root
0644
pydoc.py
104.358 KB
November 22 2023 11:22:35
root
0755
queue.py
11.09 KB
November 22 2023 11:22:35
root
0644
quopri.py
7.082 KB
November 22 2023 11:22:35
root
0755
random.py
28.127 KB
November 22 2023 11:22:35
root
0644
re.py
15.489 KB
November 22 2023 11:22:35
root
0644
reprlib.py
5.144 KB
November 22 2023 11:22:35
root
0644
rlcompleter.py
6.931 KB
November 22 2023 11:22:35
root
0644
runpy.py
11.77 KB
November 22 2023 11:22:35
root
0644
sched.py
6.291 KB
November 22 2023 11:22:35
root
0644
secrets.py
1.99 KB
November 22 2023 11:22:35
root
0644
selectors.py
18.126 KB
November 22 2023 11:22:35
root
0644
shelve.py
8.327 KB
November 22 2023 11:22:35
root
0644
shlex.py
13.013 KB
November 22 2023 11:22:35
root
0644
shutil.py
50.268 KB
November 22 2023 11:22:35
root
0644
signal.py
2.22 KB
November 22 2023 11:22:35
root
0644
site.py
21.813 KB
November 22 2023 11:22:35
root
0644
sitecustomize.py
0.151 KB
March 13 2020 11:14:16
root
0644
smtpd.py
33.896 KB
November 22 2023 11:22:35
root
0755
smtplib.py
43.754 KB
November 22 2023 11:22:35
root
0755
sndhdr.py
6.933 KB
November 22 2023 11:22:35
root
0644
socket.py
34.417 KB
November 22 2023 11:22:35
root
0644
socketserver.py
26.656 KB
November 22 2023 11:22:35
root
0644
sre_compile.py
26.069 KB
November 22 2023 11:22:35
root
0644
sre_constants.py
6.986 KB
November 22 2023 11:22:35
root
0644
sre_parse.py
39.287 KB
November 22 2023 11:22:35
root
0644
ssl.py
51.136 KB
November 22 2023 11:22:35
root
0644
stat.py
5.356 KB
November 22 2023 11:22:35
root
0644
statistics.py
38.76 KB
November 22 2023 11:22:35
root
0644
string.py
10.288 KB
November 22 2023 11:22:35
root
0644
stringprep.py
12.614 KB
November 22 2023 11:22:35
root
0644
struct.py
0.251 KB
November 22 2023 11:22:35
root
0644
subprocess.py
75.518 KB
November 22 2023 11:22:35
root
0644
sunau.py
17.944 KB
November 22 2023 11:22:35
root
0644
symbol.py
2.06 KB
November 22 2023 11:22:35
root
0644
symtable.py
7.833 KB
November 22 2023 11:22:35
root
0644
sysconfig.py
24.448 KB
November 22 2023 11:22:35
root
0644
tabnanny.py
11.139 KB
November 22 2023 11:22:35
root
0755
tarfile.py
91.727 KB
November 22 2023 11:22:35
root
0755
telnetlib.py
22.709 KB
November 22 2023 11:22:35
root
0644
tempfile.py
31.87 KB
November 22 2023 11:22:35
root
0644
textwrap.py
18.952 KB
November 22 2023 11:22:35
root
0644
this.py
0.979 KB
November 22 2023 11:22:35
root
0644
threading.py
49.629 KB
November 22 2023 11:22:35
root
0644
timeit.py
13.164 KB
November 22 2023 11:22:35
root
0755
token.py
2.313 KB
November 22 2023 11:22:35
root
0644
tokenize.py
25.235 KB
November 22 2023 11:22:35
root
0644
trace.py
29.158 KB
November 22 2023 11:22:35
root
0755
traceback.py
23.058 KB
November 22 2023 11:22:35
root
0644
tracemalloc.py
16.676 KB
November 22 2023 11:22:35
root
0644
tty.py
0.858 KB
November 22 2023 11:22:35
root
0644
turtle.py
140.348 KB
November 22 2023 11:22:35
root
0644
types.py
9.485 KB
November 22 2023 11:22:35
root
0644
typing.py
67.346 KB
November 22 2023 11:22:35
root
0644
uu.py
6.794 KB
November 22 2023 11:22:35
root
0755
uuid.py
29.752 KB
November 22 2023 11:22:35
root
0644
warnings.py
19.227 KB
November 22 2023 11:22:35
root
0644
wave.py
17.803 KB
November 22 2023 11:22:35
root
0644
weakref.py
20.886 KB
November 22 2023 11:22:35
root
0644
webbrowser.py
23.519 KB
November 22 2023 11:22:35
root
0755
xdrlib.py
5.774 KB
November 22 2023 11:22:35
root
0644
zipapp.py
7.358 KB
November 22 2023 11:22:35
root
0644
zipfile.py
85.672 KB
November 22 2023 11:22:35
root
0644
zipimport.py
30.044 KB
November 22 2023 11:22:35
root
0644

NineSec Team - 2022