$58 GRAYBYTE WORDPRESS FILE MANAGER $14

SERVER : vnpttt-amd7f72-h1.vietnix.vn #1 SMP Fri May 24 12:42:50 UTC 2024
SERVER IP : 103.200.23.149 | ADMIN IP 216.73.216.22
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : NONE

/opt/imunify360/venv/lib/python3.11/site-packages/setuptools/command/

HOME
Current File : /opt/imunify360/venv/lib/python3.11/site-packages/setuptools/command//dist_info.py
"""
Create a dist_info directory
As defined in the wheel specification
"""

import os
import shutil
import sys
from contextlib import contextmanager
from distutils import log
from distutils.core import Command
from pathlib import Path

from .. import _normalization


class dist_info(Command):
    """
    This command is private and reserved for internal use of setuptools,
    users should rely on ``setuptools.build_meta`` APIs.
    """

    description = "DO NOT CALL DIRECTLY, INTERNAL ONLY: create .dist-info directory"

    user_options = [
        (
            'output-dir=',
            'o',
            "directory inside of which the .dist-info will be"
            "created (default: top of the source tree)",
        ),
        ('tag-date', 'd', "Add date stamp (e.g. 20050528) to version number"),
        ('tag-build=', 'b', "Specify explicit tag to add to version number"),
        ('no-date', 'D', "Don't include date stamp [default]"),
        ('keep-egg-info', None, "*TRANSITIONAL* will be removed in the future"),
    ]

    boolean_options = ['tag-date', 'keep-egg-info']
    negative_opt = {'no-date': 'tag-date'}

    def initialize_options(self):
        self.output_dir = None
        self.name = None
        self.dist_info_dir = None
        self.tag_date = None
        self.tag_build = None
        self.keep_egg_info = False

    def finalize_options(self):
        dist = self.distribution
        project_dir = dist.src_root or os.curdir
        self.output_dir = Path(self.output_dir or project_dir)

        egg_info = self.reinitialize_command("egg_info")
        egg_info.egg_base = str(self.output_dir)

        if self.tag_date:
            egg_info.tag_date = self.tag_date
        else:
            self.tag_date = egg_info.tag_date

        if self.tag_build:
            egg_info.tag_build = self.tag_build
        else:
            self.tag_build = egg_info.tag_build

        egg_info.finalize_options()
        self.egg_info = egg_info

        name = _normalization.safer_name(dist.get_name())
        version = _normalization.safer_best_effort_version(dist.get_version())
        self.name = f"{name}-{version}"
        self.dist_info_dir = os.path.join(self.output_dir, f"{self.name}.dist-info")

    @contextmanager
    def _maybe_bkp_dir(self, dir_path: str, requires_bkp: bool):
        if requires_bkp:
            bkp_name = f"{dir_path}.__bkp__"
            _rm(bkp_name, ignore_errors=True)
            _copy(dir_path, bkp_name, dirs_exist_ok=True, symlinks=True)
            try:
                yield
            finally:
                _rm(dir_path, ignore_errors=True)
                shutil.move(bkp_name, dir_path)
        else:
            yield

    def run(self):
        self.output_dir.mkdir(parents=True, exist_ok=True)
        self.egg_info.run()
        egg_info_dir = self.egg_info.egg_info
        assert os.path.isdir(egg_info_dir), ".egg-info dir should have been created"

        log.info("creating '{}'".format(os.path.abspath(self.dist_info_dir)))
        bdist_wheel = self.get_finalized_command('bdist_wheel')

        # TODO: if bdist_wheel if merged into setuptools, just add "keep_egg_info" there
        with self._maybe_bkp_dir(egg_info_dir, self.keep_egg_info):
            bdist_wheel.egg2dist(egg_info_dir, self.dist_info_dir)


def _rm(dir_name, **opts):
    if os.path.isdir(dir_name):
        shutil.rmtree(dir_name, **opts)


def _copy(src, dst, **opts):
    if sys.version_info < (3, 8):
        opts.pop("dirs_exist_ok", None)
    shutil.copytree(src, dst, **opts)

Current_dir [ NOT WRITEABLE ] Document_root [ WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
5 Aug 2025 4.30 AM
root / root
0755
__pycache__
--
5 Aug 2025 4.30 AM
root / root
0755
__init__.py
0.387 KB
4 Jul 2025 8.31 PM
root / root
0644
_requirestxt.py
4.108 KB
4 Jul 2025 8.31 PM
root / root
0644
alias.py
2.327 KB
4 Jul 2025 8.31 PM
root / root
0644
bdist_egg.py
16.171 KB
4 Jul 2025 8.31 PM
root / root
0644
bdist_rpm.py
1.278 KB
4 Jul 2025 8.31 PM
root / root
0644
build.py
6.625 KB
4 Jul 2025 8.31 PM
root / root
0644
build_clib.py
4.433 KB
4 Jul 2025 8.31 PM
root / root
0644
build_ext.py
17.094 KB
4 Jul 2025 8.31 PM
root / root
0644
build_py.py
14.772 KB
4 Jul 2025 8.31 PM
root / root
0644
develop.py
6.552 KB
4 Jul 2025 8.31 PM
root / root
0644
dist_info.py
3.477 KB
4 Jul 2025 8.31 PM
root / root
0644
easy_install.py
84.42 KB
4 Jul 2025 8.31 PM
root / root
0644
editable_wheel.py
32.967 KB
4 Jul 2025 8.31 PM
root / root
0644
egg_info.py
25.903 KB
4 Jul 2025 8.31 PM
root / root
0644
install.py
5.495 KB
4 Jul 2025 8.31 PM
root / root
0644
install_egg_info.py
2.018 KB
4 Jul 2025 8.31 PM
root / root
0644
install_lib.py
3.779 KB
4 Jul 2025 8.31 PM
root / root
0644
install_scripts.py
2.304 KB
4 Jul 2025 8.31 PM
root / root
0644
launcher manifest.xml
0.613 KB
4 Jul 2025 8.31 PM
root / root
0644
register.py
0.457 KB
4 Jul 2025 8.31 PM
root / root
0644
rotate.py
2.048 KB
4 Jul 2025 8.31 PM
root / root
0644
saveopts.py
0.642 KB
4 Jul 2025 8.31 PM
root / root
0644
sdist.py
6.919 KB
4 Jul 2025 8.31 PM
root / root
0644
setopt.py
4.812 KB
4 Jul 2025 8.31 PM
root / root
0644
test.py
7.911 KB
4 Jul 2025 8.31 PM
root / root
0644
upload.py
0.451 KB
4 Jul 2025 8.31 PM
root / root
0644
upload_docs.py
7.572 KB
4 Jul 2025 8.31 PM
root / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2026 CONTACT ME
Static GIF