GRAYBYTE WORDPRESS FILE MANAGER5432

Server IP : 198.54.121.189 / Your IP : 216.73.216.34
System : Linux premium69.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
PHP Version : 7.4.33
Disable Function : NONE
cURL : ON | WGET : ON | Sudo : OFF | Pkexec : OFF
Directory : /lib64/python3.8/
Upload Files :
Current_dir [ Not Writeable ] Document_root [ Writeable ]

Command :


Current File : /lib64/python3.8//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, (str, os.PathLike)):
        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,
                   filter=None, compressed=False):
    """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)
        compression = (zipfile.ZIP_DEFLATED if compressed else
                       zipfile.ZIP_STORED)
        with zipfile.ZipFile(fd, 'w', compression=compression) as z:
            for child in source.rglob('*'):
                arcname = child.relative_to(source)
                if filter is None or filter(arcname):
                    z.write(child, arcname.as_posix())
            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('--compress', '-c', action='store_true',
            help="Compress files with the deflate method. "
                 "Files are stored uncompressed by default.")
    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,
                   compressed=args.compress)


if __name__ == '__main__':
    main()

[ Back ]
Name
Size
Last Modified
Owner / Group
Permissions
Options
..
--
July 11 2025 16:48:16
root / root
0555
__pycache__
--
March 05 2024 23:45:16
root / root
0755
asyncio
--
March 05 2024 23:45:16
root / root
0755
collections
--
March 05 2024 23:45:16
root / root
0755
concurrent
--
March 05 2024 23:45:16
root / root
0755
config-3.8-x86_64-linux-gnu
--
March 05 2024 23:45:24
root / root
0755
ctypes
--
March 05 2024 23:45:16
root / root
0755
curses
--
March 05 2024 23:45:16
root / root
0755
dbm
--
March 05 2024 23:45:16
root / root
0755
distutils
--
March 05 2024 23:45:16
root / root
0755
email
--
March 05 2024 23:45:16
root / root
0755
encodings
--
March 05 2024 23:45:16
root / root
0755
ensurepip
--
March 05 2024 23:45:16
root / root
0755
html
--
March 05 2024 23:45:16
root / root
0755
http
--
March 05 2024 23:45:16
root / root
0755
importlib
--
March 05 2024 23:45:16
root / root
0755
json
--
March 05 2024 23:45:16
root / root
0755
lib-dynload
--
March 05 2024 23:45:16
root / root
0755
lib2to3
--
March 05 2024 23:45:16
root / root
0755
logging
--
March 05 2024 23:45:16
root / root
0755
multiprocessing
--
March 05 2024 23:45:16
root / root
0755
pydoc_data
--
March 05 2024 23:45:16
root / root
0755
site-packages
--
March 05 2024 23:45:16
root / root
0755
sqlite3
--
March 05 2024 23:45:16
root / root
0755
tkinter
--
March 05 2024 23:45:13
root / root
0755
turtledemo
--
March 05 2024 23:45:13
root / root
0755
unittest
--
March 05 2024 23:45:16
root / root
0755
urllib
--
March 05 2024 23:45:16
root / root
0755
venv
--
March 05 2024 23:45:16
root / root
0755
wsgiref
--
March 05 2024 23:45:16
root / root
0755
xml
--
March 05 2024 23:45:16
root / root
0755
xmlrpc
--
March 05 2024 23:45:16
root / root
0755
LICENSE.txt
13.61 KB
June 06 2023 13:32:21
root / root
0644
__future__.py
5.026 KB
June 06 2023 13:32:21
root / root
0644
__phello__.foo.py
0.063 KB
June 06 2023 13:32:21
root / root
0644
_bootlocale.py
1.759 KB
June 06 2023 13:32:21
root / root
0644
_collections_abc.py
25.488 KB
June 06 2023 13:32:21
root / root
0644
_compat_pickle.py
8.544 KB
June 06 2023 13:32:21
root / root
0644
_compression.py
5.215 KB
June 06 2023 13:32:21
root / root
0644
_dummy_thread.py
5.886 KB
June 06 2023 13:32:21
root / root
0644
_markupbase.py
14.256 KB
June 06 2023 13:32:21
root / root
0644
_osx_support.py
21.264 KB
June 06 2023 13:32:21
root / root
0644
_py_abc.py
6.044 KB
June 06 2023 13:32:21
root / root
0644
_pydecimal.py
223.307 KB
June 06 2023 13:32:21
root / root
0644
_pyio.py
90.993 KB
June 06 2023 13:32:21
root / root
0644
_sitebuiltins.py
3.042 KB
June 06 2023 13:32:21
root / root
0644
_strptime.py
24.676 KB
June 06 2023 13:32:21
root / root
0644
_sysconfigdata__linux_x86_64-linux-gnu.py
37.607 KB
October 17 2023 18:12:19
root / root
0644
_sysconfigdata_d_linux_x86_64-linux-gnu.py
37.341 KB
October 17 2023 18:03:44
root / root
0644
_threading_local.py
7.051 KB
June 06 2023 13:32:21
root / root
0644
_weakrefset.py
5.601 KB
June 06 2023 13:32:21
root / root
0644
abc.py
4.384 KB
June 06 2023 13:32:21
root / root
0644
aifc.py
32.045 KB
June 06 2023 13:32:21
root / root
0644
antigravity.py
0.466 KB
June 06 2023 13:32:21
root / root
0644
argparse.py
93.765 KB
June 06 2023 13:32:21
root / root
0644
ast.py
18.783 KB
June 06 2023 13:32:21
root / root
0644
asynchat.py
11.063 KB
June 06 2023 13:32:21
root / root
0644
asyncore.py
19.623 KB
June 06 2023 13:32:21
root / root
0644
base64.py
19.904 KB
June 06 2023 13:32:21
root / root
0755
bdb.py
31.305 KB
June 06 2023 13:32:21
root / root
0644
binhex.py
13.627 KB
June 06 2023 13:32:21
root / root
0644
bisect.py
2.162 KB
June 06 2023 13:32:21
root / root
0644
bz2.py
12.264 KB
June 06 2023 13:32:21
root / root
0644
cProfile.py
6.846 KB
June 06 2023 13:32:21
root / root
0755
calendar.py
24.25 KB
June 06 2023 13:32:21
root / root
0644
cgi.py
33.139 KB
October 17 2023 18:02:14
root / root
0755
cgitb.py
11.813 KB
June 06 2023 13:32:21
root / root
0644
chunk.py
5.308 KB
June 06 2023 13:32:21
root / root
0644
cmd.py
14.512 KB
June 06 2023 13:32:21
root / root
0644
code.py
10.373 KB
June 06 2023 13:32:21
root / root
0644
codecs.py
35.808 KB
June 06 2023 13:32:21
root / root
0644
codeop.py
6.182 KB
June 06 2023 13:32:21
root / root
0644
colorsys.py
3.969 KB
June 06 2023 13:32:21
root / root
0644
compileall.py
13.357 KB
June 06 2023 13:32:21
root / root
0644
configparser.py
53.1 KB
June 06 2023 13:32:21
root / root
0644
contextlib.py
24.409 KB
June 06 2023 13:32:21
root / root
0644
contextvars.py
0.126 KB
June 06 2023 13:32:21
root / root
0644
copy.py
8.458 KB
June 06 2023 13:32:21
root / root
0644
copyreg.py
6.968 KB
June 06 2023 13:32:21
root / root
0644
crypt.py
3.525 KB
June 06 2023 13:32:21
root / root
0644
csv.py
15.766 KB
June 06 2023 13:32:21
root / root
0644
dataclasses.py
48.802 KB
June 06 2023 13:32:21
root / root
0644
datetime.py
86.218 KB
June 06 2023 13:32:21
root / root
0644
decimal.py
0.313 KB
June 06 2023 13:32:21
root / root
0644
difflib.py
82.088 KB
June 06 2023 13:32:21
root / root
0644
dis.py
20.088 KB
June 06 2023 13:32:21
root / root
0644
doctest.py
102.093 KB
June 06 2023 13:32:21
root / root
0644
dummy_threading.py
2.749 KB
June 06 2023 13:32:21
root / root
0644
enum.py
37.242 KB
June 06 2023 13:32:21
root / root
0644
filecmp.py
9.6 KB
June 06 2023 13:32:21
root / root
0644
fileinput.py
14.364 KB
June 06 2023 13:32:21
root / root
0644
fnmatch.py
3.983 KB
June 06 2023 13:32:21
root / root
0644
formatter.py
14.788 KB
June 06 2023 13:32:21
root / root
0644
fractions.py
23.759 KB
June 06 2023 13:32:21
root / root
0644
ftplib.py
34.306 KB
June 06 2023 13:32:21
root / root
0644
functools.py
36.529 KB
June 06 2023 13:32:21
root / root
0644
genericpath.py
4.858 KB
June 06 2023 13:32:21
root / root
0644
getopt.py
7.313 KB
June 06 2023 13:32:21
root / root
0644
getpass.py
5.854 KB
June 06 2023 13:32:21
root / root
0644
gettext.py
26.502 KB
June 06 2023 13:32:21
root / root
0644
glob.py
5.563 KB
June 06 2023 13:32:21
root / root
0644
gzip.py
20.911 KB
June 06 2023 13:32:21
root / root
0644
hashlib.py
8.138 KB
October 17 2023 18:02:14
root / root
0644
heapq.py
22.341 KB
June 06 2023 13:32:21
root / root
0644
hmac.py
7.666 KB
October 17 2023 18:02:14
root / root
0644
imaplib.py
52.35 KB
June 06 2023 13:32:21
root / root
0644
imghdr.py
3.719 KB
June 06 2023 13:32:21
root / root
0644
imp.py
10.289 KB
June 06 2023 13:32:21
root / root
0644
inspect.py
115.771 KB
June 06 2023 13:32:21
root / root
0644
io.py
3.458 KB
June 06 2023 13:32:21
root / root
0644
ipaddress.py
69.965 KB
June 06 2023 13:32:21
root / root
0644
keyword.py
0.923 KB
June 06 2023 13:32:21
root / root
0644
linecache.py
5.205 KB
June 06 2023 13:32:21
root / root
0644
locale.py
76.358 KB
June 06 2023 13:32:21
root / root
0644
lzma.py
12.679 KB
June 06 2023 13:32:21
root / root
0644
mailbox.py
76.817 KB
June 06 2023 13:32:21
root / root
0644
mailcap.py
8.854 KB
June 06 2023 13:32:21
root / root
0644
mimetypes.py
21.156 KB
June 06 2023 13:32:21
root / root
0644
modulefinder.py
23.857 KB
June 06 2023 13:32:21
root / root
0644
netrc.py
5.436 KB
June 06 2023 13:32:21
root / root
0644
nntplib.py
42.247 KB
June 06 2023 13:32:21
root / root
0644
ntpath.py
27.084 KB
June 06 2023 13:32:21
root / root
0644
nturl2path.py
2.819 KB
June 06 2023 13:32:21
root / root
0644
numbers.py
10.004 KB
June 06 2023 13:32:21
root / root
0644
opcode.py
5.672 KB
June 06 2023 13:32:21
root / root
0644
operator.py
10.46 KB
June 06 2023 13:32:21
root / root
0644
optparse.py
58.954 KB
June 06 2023 13:32:21
root / root
0644
os.py
38.081 KB
June 06 2023 13:32:21
root / root
0644
pathlib.py
51.377 KB
June 06 2023 13:32:21
root / root
0644
pdb.py
61.268 KB
June 06 2023 13:32:21
root / root
0755
pickle.py
62.956 KB
June 06 2023 13:32:21
root / root
0644
pickletools.py
91.295 KB
June 06 2023 13:32:21
root / root
0644
pipes.py
8.707 KB
June 06 2023 13:32:21
root / root
0644
pkgutil.py
20.996 KB
June 06 2023 13:32:21
root / root
0644
platform.py
39.478 KB
June 06 2023 13:32:21
root / root
0755
plistlib.py
31.465 KB
June 06 2023 13:32:21
root / root
0644
poplib.py
14.724 KB
June 06 2023 13:32:21
root / root
0644
posixpath.py
15.261 KB
June 06 2023 13:32:21
root / root
0644
pprint.py
20.98 KB
June 06 2023 13:32:21
root / root
0644
profile.py
22.994 KB
June 06 2023 13:32:21
root / root
0755
pstats.py
26.704 KB
June 06 2023 13:32:21
root / root
0644
pty.py
4.694 KB
June 06 2023 13:32:21
root / root
0644
py_compile.py
8.011 KB
October 17 2023 18:02:14
root / root
0644
pyclbr.py
14.897 KB
June 06 2023 13:32:21
root / root
0644
pydoc.py
104.199 KB
October 17 2023 18:12:57
root / root
0644
queue.py
11.09 KB
June 06 2023 13:32:21
root / root
0644
quopri.py
7.082 KB
June 06 2023 13:32:21
root / root
0755
random.py
28.127 KB
June 06 2023 13:32:21
root / root
0644
re.py
15.489 KB
June 06 2023 13:32:21
root / root
0644
reprlib.py
5.144 KB
June 06 2023 13:32:21
root / root
0644
rlcompleter.py
6.931 KB
June 06 2023 13:32:21
root / root
0644
runpy.py
11.77 KB
June 06 2023 13:32:21
root / root
0644
sched.py
6.291 KB
June 06 2023 13:32:21
root / root
0644
secrets.py
1.99 KB
June 06 2023 13:32:21
root / root
0644
selectors.py
18.126 KB
June 06 2023 13:32:21
root / root
0644
shelve.py
8.327 KB
June 06 2023 13:32:21
root / root
0644
shlex.py
13.013 KB
June 06 2023 13:32:21
root / root
0644
shutil.py
50.548 KB
June 06 2023 13:32:21
root / root
0644
signal.py
2.22 KB
June 06 2023 13:32:21
root / root
0644
site.py
21.326 KB
October 17 2023 18:02:14
root / root
0644
smtpd.py
33.896 KB
June 06 2023 13:32:21
root / root
0755
smtplib.py
43.946 KB
June 06 2023 13:32:21
root / root
0755
sndhdr.py
6.933 KB
June 06 2023 13:32:21
root / root
0644
socket.py
34.417 KB
June 06 2023 13:32:21
root / root
0644
socketserver.py
26.656 KB
June 06 2023 13:32:21
root / root
0644
sre_compile.py
26.069 KB
June 06 2023 13:32:21
root / root
0644
sre_constants.py
6.986 KB
June 06 2023 13:32:21
root / root
0644
sre_parse.py
39.287 KB
June 06 2023 13:32:21
root / root
0644
ssl.py
49.57 KB
June 06 2023 13:32:21
root / root
0644
stat.py
5.356 KB
June 06 2023 13:32:21
root / root
0644
statistics.py
38.76 KB
June 06 2023 13:32:21
root / root
0644
string.py
10.288 KB
June 06 2023 13:32:21
root / root
0644
stringprep.py
12.614 KB
June 06 2023 13:32:21
root / root
0644
struct.py
0.251 KB
June 06 2023 13:32:21
root / root
0644
subprocess.py
76.416 KB
June 06 2023 13:32:21
root / root
0644
sunau.py
17.944 KB
June 06 2023 13:32:21
root / root
0644
symbol.py
2.06 KB
October 17 2023 18:04:15
root / root
0644
symtable.py
7.833 KB
June 06 2023 13:32:21
root / root
0644
sysconfig.py
24.313 KB
October 17 2023 18:12:55
root / root
0644
tabnanny.py
11.139 KB
June 06 2023 13:32:21
root / root
0755
tarfile.py
103.978 KB
October 17 2023 18:02:14
root / root
0755
telnetlib.py
22.709 KB
June 06 2023 13:32:21
root / root
0644
tempfile.py
26.892 KB
June 06 2023 13:32:21
root / root
0644
textwrap.py
18.952 KB
June 06 2023 13:32:21
root / root
0644
this.py
0.979 KB
June 06 2023 13:32:21
root / root
0644
threading.py
49.629 KB
June 06 2023 13:32:21
root / root
0644
timeit.py
13.164 KB
June 06 2023 13:32:21
root / root
0755
token.py
2.313 KB
June 06 2023 13:32:21
root / root
0644
tokenize.py
25.235 KB
June 06 2023 13:32:21
root / root
0644
trace.py
29.17 KB
June 06 2023 13:32:21
root / root
0755
traceback.py
23.058 KB
June 06 2023 13:32:21
root / root
0644
tracemalloc.py
16.676 KB
June 06 2023 13:32:21
root / root
0644
tty.py
0.858 KB
June 06 2023 13:32:21
root / root
0644
turtle.py
140.348 KB
June 06 2023 13:32:21
root / root
0644
types.py
9.485 KB
June 06 2023 13:32:21
root / root
0644
typing.py
67.346 KB
June 06 2023 13:32:21
root / root
0644
uu.py
7.106 KB
October 17 2023 18:12:57
root / root
0644
uuid.py
29.8 KB
October 17 2023 18:02:14
root / root
0644
warnings.py
19.227 KB
June 06 2023 13:32:21
root / root
0644
wave.py
17.803 KB
June 06 2023 13:32:21
root / root
0644
weakref.py
20.886 KB
June 06 2023 13:32:21
root / root
0644
webbrowser.py
23.519 KB
June 06 2023 13:32:21
root / root
0755
xdrlib.py
5.774 KB
June 06 2023 13:32:21
root / root
0644
zipapp.py
7.358 KB
June 06 2023 13:32:21
root / root
0644
zipfile.py
85.672 KB
June 06 2023 13:32:21
root / root
0644
zipimport.py
30.044 KB
June 06 2023 13:32:21
root / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025
CONTACT ME
Static GIF