[ Avaa Bypassed ]




Upload:

Command:

hmhc3928@18.119.106.49: ~ $
"""Build metadata for a project using PEP 517 hooks.
"""
import argparse
import logging
import os
import shutil
import functools

try:
    import importlib.metadata as imp_meta
except ImportError:
    import importlib_metadata as imp_meta

try:
    from zipfile import Path
except ImportError:
    from zipp import Path

from .envbuild import BuildEnvironment
from .wrappers import Pep517HookCaller, quiet_subprocess_runner
from .dirtools import tempdir, mkdir_p, dir_to_zipfile
from .build import validate_system, load_system, compat_system

log = logging.getLogger(__name__)


def _prep_meta(hooks, env, dest):
    reqs = hooks.get_requires_for_build_wheel({})
    log.info('Got build requires: %s', reqs)

    env.pip_install(reqs)
    log.info('Installed dynamic build dependencies')

    with tempdir() as td:
        log.info('Trying to build metadata in %s', td)
        filename = hooks.prepare_metadata_for_build_wheel(td, {})
        source = os.path.join(td, filename)
        shutil.move(source, os.path.join(dest, os.path.basename(filename)))


def build(source_dir='.', dest=None, system=None):
    system = system or load_system(source_dir)
    dest = os.path.join(source_dir, dest or 'dist')
    mkdir_p(dest)
    validate_system(system)
    hooks = Pep517HookCaller(
        source_dir, system['build-backend'], system.get('backend-path')
    )

    with hooks.subprocess_runner(quiet_subprocess_runner):
        with BuildEnvironment() as env:
            env.pip_install(system['requires'])
            _prep_meta(hooks, env, dest)


def build_as_zip(builder=build):
    with tempdir() as out_dir:
        builder(dest=out_dir)
        return dir_to_zipfile(out_dir)


def load(root):
    """
    Given a source directory (root) of a package,
    return an importlib.metadata.Distribution object
    with metadata build from that package.
    """
    root = os.path.expanduser(root)
    system = compat_system(root)
    builder = functools.partial(build, source_dir=root, system=system)
    path = Path(build_as_zip(builder))
    return imp_meta.PathDistribution(path)


parser = argparse.ArgumentParser()
parser.add_argument(
    'source_dir',
    help="A directory containing pyproject.toml",
)
parser.add_argument(
    '--out-dir', '-o',
    help="Destination in which to save the builds relative to source dir",
)


def main():
    args = parser.parse_args()
    build(args.source_dir, args.out_dir)


if __name__ == '__main__':
    main()

Filemanager

Name Type Size Permission Actions
__pycache__ Folder 0755
.__init__.pyo.40009 File 274 B 0644
._in_process.pyo.40009 File 10.68 KB 0644
.build.pyo.40009 File 4.31 KB 0644
.check.pyo.40009 File 5.9 KB 0644
.colorlog.pyo.40009 File 3.62 KB 0644
.compat.pyo.40009 File 1.44 KB 0644
.dirtools.pyo.40009 File 1.72 KB 0644
.envbuild.pyo.40009 File 5.4 KB 0644
.meta.pyo.40009 File 3.54 KB 0644
.wrappers.pyo.40009 File 12.72 KB 0644
__init__.py File 84 B 0644
__init__.pyc File 274 B 0644
__init__.pyo File 274 B 0644
_in_process.py File 8.24 KB 0644
_in_process.pyc File 10.68 KB 0644
_in_process.pyo File 10.68 KB 0644
build.py File 3.26 KB 0644
build.pyc File 4.31 KB 0644
build.pyo File 4.31 KB 0644
check.py File 5.82 KB 0644
check.pyc File 5.9 KB 0644
check.pyo File 5.9 KB 0644
colorlog.py File 4 KB 0644
colorlog.pyc File 3.62 KB 0644
colorlog.pyo File 3.62 KB 0644
compat.py File 780 B 0644
compat.pyc File 1.44 KB 0644
compat.pyo File 1.44 KB 0644
dirtools.py File 1.1 KB 0644
dirtools.pyc File 1.72 KB 0644
dirtools.pyo File 1.72 KB 0644
envbuild.py File 5.9 KB 0644
envbuild.pyc File 5.4 KB 0644
envbuild.pyo File 5.4 KB 0644
meta.py File 2.41 KB 0644
meta.pyc File 3.54 KB 0644
meta.pyo File 3.54 KB 0644
wrappers.py File 10.53 KB 0644
wrappers.pyc File 12.72 KB 0644
wrappers.pyo File 12.72 KB 0644