GRAYBYTE WORDPRESS FILE MANAGER6012

Server IP : 198.54.121.189 / Your IP : 216.73.216.140
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 : /usr/lib/python3.6/site-packages/setuptools/
Upload Files :
Current_dir [ Not Writeable ] Document_root [ Writeable ]

Command :


Current File : /usr/lib/python3.6/site-packages/setuptools//build_meta.py
"""A PEP 517 interface to setuptools

Previously, when a user or a command line tool (let's call it a "frontend")
needed to make a request of setuptools to take a certain action, for
example, generating a list of installation requirements, the frontend would
would call "setup.py egg_info" or "setup.py bdist_wheel" on the command line.

PEP 517 defines a different method of interfacing with setuptools. Rather
than calling "setup.py" directly, the frontend should:

  1. Set the current directory to the directory with a setup.py file
  2. Import this module into a safe python interpreter (one in which
     setuptools can potentially set global variables or crash hard).
  3. Call one of the functions defined in PEP 517.

What each function does is defined in PEP 517. However, here is a "casual"
definition of the functions (this definition should not be relied on for
bug reports or API stability):

  - `build_wheel`: build a wheel in the folder and return the basename
  - `get_requires_for_build_wheel`: get the `setup_requires` to build
  - `prepare_metadata_for_build_wheel`: get the `install_requires`
  - `build_sdist`: build an sdist in the folder and return the basename
  - `get_requires_for_build_sdist`: get the `setup_requires` to build

Again, this is not a formal definition! Just a "taste" of the module.
"""

import os
import sys
import tokenize
import shutil
import contextlib

import setuptools
import distutils


class SetupRequirementsError(BaseException):
    def __init__(self, specifiers):
        self.specifiers = specifiers


class Distribution(setuptools.dist.Distribution):
    def fetch_build_eggs(self, specifiers):
        raise SetupRequirementsError(specifiers)

    @classmethod
    @contextlib.contextmanager
    def patch(cls):
        """
        Replace
        distutils.dist.Distribution with this class
        for the duration of this context.
        """
        orig = distutils.core.Distribution
        distutils.core.Distribution = cls
        try:
            yield
        finally:
            distutils.core.Distribution = orig


def _run_setup(setup_script='setup.py'):
    # Note that we can reuse our build directory between calls
    # Correctness comes first, then optimization later
    __file__ = setup_script
    __name__ = '__main__'
    f = getattr(tokenize, 'open', open)(__file__)
    code = f.read().replace('\\r\\n', '\\n')
    f.close()
    exec(compile(code, __file__, 'exec'), locals())


def _fix_config(config_settings):
    config_settings = config_settings or {}
    config_settings.setdefault('--global-option', [])
    return config_settings


def _get_build_requires(config_settings):
    config_settings = _fix_config(config_settings)
    requirements = ['setuptools', 'wheel']

    sys.argv = sys.argv[:1] + ['egg_info'] + \
        config_settings["--global-option"]
    try:
        with Distribution.patch():
            _run_setup()
    except SetupRequirementsError as e:
        requirements += e.specifiers

    return requirements


def _get_immediate_subdirectories(a_dir):
    return [name for name in os.listdir(a_dir)
            if os.path.isdir(os.path.join(a_dir, name))]


def get_requires_for_build_wheel(config_settings=None):
    config_settings = _fix_config(config_settings)
    return _get_build_requires(config_settings)


def get_requires_for_build_sdist(config_settings=None):
    config_settings = _fix_config(config_settings)
    return _get_build_requires(config_settings)


def prepare_metadata_for_build_wheel(metadata_directory, config_settings=None):
    sys.argv = sys.argv[:1] + ['dist_info', '--egg-base', metadata_directory]
    _run_setup()
    
    dist_info_directory = metadata_directory
    while True:    
        dist_infos = [f for f in os.listdir(dist_info_directory)
                      if f.endswith('.dist-info')]

        if len(dist_infos) == 0 and \
                len(_get_immediate_subdirectories(dist_info_directory)) == 1:
            dist_info_directory = os.path.join(
                dist_info_directory, os.listdir(dist_info_directory)[0])
            continue

        assert len(dist_infos) == 1
        break

    # PEP 517 requires that the .dist-info directory be placed in the
    # metadata_directory. To comply, we MUST copy the directory to the root
    if dist_info_directory != metadata_directory:
        shutil.move(
            os.path.join(dist_info_directory, dist_infos[0]),
            metadata_directory)
        shutil.rmtree(dist_info_directory, ignore_errors=True)

    return dist_infos[0]


def build_wheel(wheel_directory, config_settings=None,
                metadata_directory=None):
    config_settings = _fix_config(config_settings)
    wheel_directory = os.path.abspath(wheel_directory)
    sys.argv = sys.argv[:1] + ['bdist_wheel'] + \
        config_settings["--global-option"]
    _run_setup()
    if wheel_directory != 'dist':
        shutil.rmtree(wheel_directory)
        shutil.copytree('dist', wheel_directory)

    wheels = [f for f in os.listdir(wheel_directory)
              if f.endswith('.whl')]

    assert len(wheels) == 1
    return wheels[0]


def build_sdist(sdist_directory, config_settings=None):
    config_settings = _fix_config(config_settings)
    sdist_directory = os.path.abspath(sdist_directory)
    sys.argv = sys.argv[:1] + ['sdist'] + \
        config_settings["--global-option"]
    _run_setup()
    if sdist_directory != 'dist':
        shutil.rmtree(sdist_directory)
        shutil.copytree('dist', sdist_directory)

    sdists = [f for f in os.listdir(sdist_directory)
              if f.endswith('.tar.gz')]

    assert len(sdists) == 1
    return sdists[0]

[ Back ]
Name
Size
Last Modified
Owner / Group
Permissions
Options
..
--
July 01 2025 22:14:40
root / root
0755
__pycache__
--
August 20 2024 08:30:55
root / root
0755
_vendor
--
August 20 2024 08:30:55
root / root
0755
command
--
August 20 2024 08:30:55
root / root
0755
extern
--
August 20 2024 08:30:55
root / root
0755
__init__.py
5.566 KB
August 19 2024 07:28:57
root / root
0644
archive_util.py
6.438 KB
August 19 2024 07:28:57
root / root
0644
build_meta.py
5.538 KB
August 19 2024 07:28:57
root / root
0644
config.py
17.584 KB
August 19 2024 07:28:57
root / root
0644
dep_util.py
0.913 KB
August 19 2024 07:28:57
root / root
0644
depends.py
5.7 KB
August 19 2024 07:28:57
root / root
0644
dist.py
41.614 KB
August 19 2024 07:28:57
root / root
0644
extension.py
1.688 KB
August 19 2024 07:28:57
root / root
0644
glibc.py
3.072 KB
August 19 2024 07:28:57
root / root
0644
glob.py
5.085 KB
August 19 2024 07:28:57
root / root
0644
launch.py
0.769 KB
August 19 2024 07:28:57
root / root
0644
lib2to3_ex.py
1.966 KB
August 19 2024 07:28:57
root / root
0644
monkey.py
5.138 KB
August 19 2024 07:28:57
root / root
0644
msvc.py
39.919 KB
August 19 2024 07:28:57
root / root
0644
namespaces.py
3.124 KB
August 19 2024 07:28:57
root / root
0644
package_index.py
39.192 KB
August 19 2024 07:28:57
root / root
0644
pep425tags.py
10.618 KB
August 19 2024 07:28:57
root / root
0644
py27compat.py
0.523 KB
August 19 2024 07:28:57
root / root
0644
py31compat.py
1.164 KB
August 19 2024 07:28:57
root / root
0644
py33compat.py
1.154 KB
August 19 2024 07:28:57
root / root
0644
py36compat.py
2.823 KB
August 19 2024 07:28:57
root / root
0644
sandbox.py
13.941 KB
August 19 2024 07:28:57
root / root
0644
script (dev).tmpl
0.196 KB
August 19 2024 07:28:57
root / root
0644
script.tmpl
0.135 KB
August 19 2024 07:28:57
root / root
0644
site-patch.py
2.253 KB
August 19 2024 07:28:57
root / root
0644
ssl_support.py
8.293 KB
August 19 2024 07:28:57
root / root
0644
unicode_utils.py
0.973 KB
August 19 2024 07:28:57
root / root
0644
version.py
0.141 KB
August 19 2024 07:28:57
root / root
0644
wheel.py
7.596 KB
August 19 2024 07:28:57
root / root
0644
windows_support.py
0.697 KB
August 19 2024 07:28:57
root / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025
CONTACT ME
Static GIF