$59 GRAYBYTE WORDPRESS FILE MANAGER $36

SERVER : premium201.web-hosting.com #1 SMP Wed Mar 26 12:08:09 UTC 2025
SERVER IP : 172.67.217.254 | ADMIN IP 216.73.216.180
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : mail

/opt/alt/python312/lib/python3.12/site-packages/setuptools/_distutils/

HOME
Current File : /opt/alt/python312/lib/python3.12/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


Current_dir [ NOT WRITEABLE ] Document_root [ NOT WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
10 Feb 2026 9.35 AM
root / linksafe
0755
__pycache__
--
10 Feb 2026 9.35 AM
root / linksafe
0755
command
--
10 Feb 2026 9.35 AM
root / linksafe
0755
__init__.py
0.351 KB
8 Jan 2026 6.42 PM
root / linksafe
0644
_collections.py
5.176 KB
8 Jan 2026 6.42 PM
root / linksafe
0644
_functools.py
1.729 KB
8 Jan 2026 6.42 PM
root / linksafe
0644
_log.py
0.042 KB
8 Jan 2026 6.42 PM
root / linksafe
0644
_macos_compat.py
0.233 KB
8 Jan 2026 6.42 PM
root / linksafe
0644
_modified.py
2.354 KB
8 Jan 2026 6.42 PM
root / linksafe
0644
_msvccompiler.py
19.156 KB
8 Jan 2026 6.42 PM
root / linksafe
0644
archive_util.py
8.371 KB
8 Jan 2026 6.42 PM
root / linksafe
0644
bcppcompiler.py
14.377 KB
8 Jan 2026 6.42 PM
root / linksafe
0644
ccompiler.py
47.504 KB
8 Jan 2026 6.42 PM
root / linksafe
0644
cmd.py
17.444 KB
8 Jan 2026 6.42 PM
root / linksafe
0644
config.py
4.796 KB
8 Jan 2026 6.42 PM
root / linksafe
0644
core.py
9.177 KB
8 Jan 2026 6.42 PM
root / linksafe
0644
cygwinccompiler.py
11.645 KB
8 Jan 2026 6.42 PM
root / linksafe
0644
debug.py
0.136 KB
8 Jan 2026 6.42 PM
root / linksafe
0644
dep_util.py
0.341 KB
8 Jan 2026 6.42 PM
root / linksafe
0644
dir_util.py
7.883 KB
8 Jan 2026 6.42 PM
root / linksafe
0644
dist.py
48.998 KB
8 Jan 2026 6.42 PM
root / linksafe
0644
errors.py
3.505 KB
8 Jan 2026 6.42 PM
root / linksafe
0644
extension.py
10.029 KB
8 Jan 2026 6.42 PM
root / linksafe
0644
fancy_getopt.py
17.479 KB
8 Jan 2026 6.42 PM
root / linksafe
0644
file_util.py
8.021 KB
8 Jan 2026 6.42 PM
root / linksafe
0644
filelist.py
13.394 KB
8 Jan 2026 6.42 PM
root / linksafe
0644
log.py
1.173 KB
8 Jan 2026 6.42 PM
root / linksafe
0644
msvc9compiler.py
29.48 KB
8 Jan 2026 6.42 PM
root / linksafe
0644
msvccompiler.py
23.024 KB
8 Jan 2026 6.42 PM
root / linksafe
0644
py38compat.py
0.212 KB
8 Jan 2026 6.42 PM
root / linksafe
0644
py39compat.py
1.918 KB
8 Jan 2026 6.42 PM
root / linksafe
0644
spawn.py
3.413 KB
8 Jan 2026 6.42 PM
root / linksafe
0644
sysconfig.py
18.484 KB
8 Jan 2026 6.42 PM
root / linksafe
0644
text_file.py
11.802 KB
8 Jan 2026 6.42 PM
root / linksafe
0644
unixccompiler.py
15.236 KB
8 Jan 2026 6.42 PM
root / linksafe
0644
util.py
17.676 KB
8 Jan 2026 6.42 PM
root / linksafe
0644
version.py
12.647 KB
8 Jan 2026 6.42 PM
root / linksafe
0644
versionpredicate.py
5.083 KB
8 Jan 2026 6.42 PM
root / linksafe
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025 CONTACT ME
Static GIF