SILENT KILLERPanel

Current Path: > > opt > alt > python311 > > lib > python3.11 > > site-packages > setuptools > _distutils


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: //opt/alt/python311//lib/python3.11//site-packages/setuptools/_distutils

NameTypeSizeLast ModifiedActions
__pycache__ Directory - -
command Directory - -
__init__.py File 359 bytes November 13 2023 22:03:24.
_collections.py File 5305 bytes November 13 2023 22:03:24.
_functools.py File 411 bytes November 13 2023 22:03:24.
_log.py File 43 bytes November 13 2023 22:03:24.
_macos_compat.py File 239 bytes November 13 2023 22:03:24.
_msvccompiler.py File 19641 bytes November 13 2023 22:03:24.
archive_util.py File 8572 bytes November 13 2023 22:03:24.
bcppcompiler.py File 14752 bytes November 13 2023 22:03:24.
ccompiler.py File 47311 bytes November 13 2023 22:03:24.
cmd.py File 17867 bytes November 13 2023 22:03:24.
config.py File 4911 bytes November 13 2023 22:03:24.
core.py File 9397 bytes November 13 2023 22:03:24.
cygwinccompiler.py File 11942 bytes November 13 2023 22:03:24.
debug.py File 139 bytes November 13 2023 22:03:24.
dep_util.py File 3414 bytes November 13 2023 22:03:24.
dir_util.py File 8072 bytes November 13 2023 22:03:24.
dist.py File 50190 bytes November 13 2023 22:03:24.
errors.py File 3589 bytes November 13 2023 22:03:24.
extension.py File 10270 bytes November 13 2023 22:03:24.
fancy_getopt.py File 17901 bytes November 13 2023 22:03:24.
file_util.py File 8213 bytes November 13 2023 22:03:24.
filelist.py File 13715 bytes November 13 2023 22:03:24.
log.py File 1201 bytes November 13 2023 22:03:24.
msvc9compiler.py File 30204 bytes November 13 2023 22:03:24.
msvccompiler.py File 23580 bytes November 13 2023 22:03:24.
py38compat.py File 217 bytes November 13 2023 22:03:24.
py39compat.py File 639 bytes November 13 2023 22:03:24.
spawn.py File 3495 bytes November 13 2023 22:03:24.
sysconfig.py File 18774 bytes November 13 2023 22:03:24.
text_file.py File 12096 bytes November 13 2023 22:03:24.
unixccompiler.py File 15602 bytes November 13 2023 22:03:24.
util.py File 18097 bytes November 13 2023 22:03:24.
version.py File 12952 bytes November 13 2023 22:03:24.
versionpredicate.py File 5205 bytes November 13 2023 22:03:24.

Reading File: //opt/alt/python311//lib/python3.11//site-packages/setuptools/_distutils/config.py

"""distutils.pypirc

Provides the PyPIRCCommand class, the base class for the command classes
that uses .pypirc in the distutils.command package.
"""
import os
from configparser import RawConfigParser

from .cmd import Command

DEFAULT_PYPIRC = """\
[distutils]
index-servers =
    pypi

[pypi]
username:%s
password:%s
"""


class PyPIRCCommand(Command):
    """Base command that knows how to handle the .pypirc file"""

    DEFAULT_REPOSITORY = 'https://upload.pypi.org/legacy/'
    DEFAULT_REALM = 'pypi'
    repository = None
    realm = None

    user_options = [
        ('repository=', 'r', "url of repository [default: %s]" % DEFAULT_REPOSITORY),
        ('show-response', None, 'display full response text from server'),
    ]

    boolean_options = ['show-response']

    def _get_rc_file(self):
        """Returns rc file path."""
        return os.path.join(os.path.expanduser('~'), '.pypirc')

    def _store_pypirc(self, username, password):
        """Creates a default .pypirc file."""
        rc = self._get_rc_file()
        with os.fdopen(os.open(rc, os.O_CREAT | os.O_WRONLY, 0o600), 'w') as f:
            f.write(DEFAULT_PYPIRC % (username, password))

    def _read_pypirc(self):  # noqa: C901
        """Reads the .pypirc file."""
        rc = self._get_rc_file()
        if os.path.exists(rc):
            self.announce('Using PyPI login from %s' % rc)
            repository = self.repository or self.DEFAULT_REPOSITORY

            config = RawConfigParser()
            config.read(rc)
            sections = config.sections()
            if 'distutils' in sections:
                # let's get the list of servers
                index_servers = config.get('distutils', 'index-servers')
                _servers = [
                    server.strip()
                    for server in index_servers.split('\n')
                    if server.strip() != ''
                ]
                if _servers == []:
                    # nothing set, let's try to get the default pypi
                    if 'pypi' in sections:
                        _servers = ['pypi']
                    else:
                        # the file is not properly defined, returning
                        # an empty dict
                        return {}
                for server in _servers:
                    current = {'server': server}
                    current['username'] = config.get(server, 'username')

                    # optional params
                    for key, default in (
                        ('repository', self.DEFAULT_REPOSITORY),
                        ('realm', self.DEFAULT_REALM),
                        ('password', None),
                    ):
                        if config.has_option(server, key):
                            current[key] = config.get(server, key)
                        else:
                            current[key] = default

                    # work around people having "repository" for the "pypi"
                    # section of their config set to the HTTP (rather than
                    # HTTPS) URL
                    if server == 'pypi' and repository in (
                        self.DEFAULT_REPOSITORY,
                        'pypi',
                    ):
                        current['repository'] = self.DEFAULT_REPOSITORY
                        return current

                    if (
                        current['server'] == repository
                        or current['repository'] == repository
                    ):
                        return current
            elif 'server-login' in sections:
                # old format
                server = 'server-login'
                if config.has_option(server, 'repository'):
                    repository = config.get(server, 'repository')
                else:
                    repository = self.DEFAULT_REPOSITORY
                return {
                    'username': config.get(server, 'username'),
                    'password': config.get(server, 'password'),
                    'repository': repository,
                    'server': server,
                    'realm': self.DEFAULT_REALM,
                }

        return {}

    def _read_pypi_response(self, response):
        """Read and decode a PyPI HTTP response."""
        import cgi

        content_type = response.getheader('content-type', 'text/plain')
        encoding = cgi.parse_header(content_type)[1].get('charset', 'ascii')
        return response.read().decode(encoding)

    def initialize_options(self):
        """Initialize options."""
        self.repository = None
        self.realm = None
        self.show_response = 0

    def finalize_options(self):
        """Finalizes options."""
        if self.repository is None:
            self.repository = self.DEFAULT_REPOSITORY
        if self.realm is None:
            self.realm = self.DEFAULT_REALM

SILENT KILLER Tool