Current Path: > > lib64 > python3.6 > distutils
Operation : Linux premium107.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 : 198.54.126.246 | Your IP: 216.73.216.181 Domains : 1034 Domain(s) Permission : [ 0755 ]
| Name | Type | Size | Last Modified | Actions |
|---|---|---|---|---|
| __pycache__ | Directory | - | - | |
| command | Directory | - | - | |
| README | File | 295 bytes | December 23 2018 21:37:14. | |
| __init__.py | File | 236 bytes | December 23 2018 21:37:14. | |
| _msvccompiler.py | File | 21579 bytes | December 23 2018 21:37:14. | |
| archive_util.py | File | 8518 bytes | December 23 2018 21:37:14. | |
| bcppcompiler.py | File | 14935 bytes | December 23 2018 21:37:14. | |
| ccompiler.py | File | 47415 bytes | December 23 2018 21:37:14. | |
| cmd.py | File | 19129 bytes | December 23 2018 21:37:14. | |
| config.py | File | 4880 bytes | December 23 2018 21:37:14. | |
| core.py | File | 8876 bytes | December 23 2018 21:37:14. | |
| cygwinccompiler.py | File | 16475 bytes | December 23 2018 21:37:14. | |
| debug.py | File | 139 bytes | December 23 2018 21:37:14. | |
| dep_util.py | File | 3491 bytes | December 23 2018 21:37:14. | |
| dir_util.py | File | 7778 bytes | December 23 2018 21:37:14. | |
| dist.py | File | 49690 bytes | December 23 2018 21:37:14. | |
| errors.py | File | 3577 bytes | December 23 2018 21:37:14. | |
| extension.py | File | 10515 bytes | December 23 2018 21:37:14. | |
| fancy_getopt.py | File | 17784 bytes | December 23 2018 21:37:14. | |
| file_util.py | File | 8148 bytes | December 23 2018 21:37:14. | |
| filelist.py | File | 12832 bytes | December 23 2018 21:37:14. | |
| log.py | File | 1969 bytes | December 23 2018 21:37:14. | |
| msvc9compiler.py | File | 30612 bytes | December 23 2018 21:37:14. | |
| msvccompiler.py | File | 23576 bytes | December 23 2018 21:37:14. | |
| spawn.py | File | 7427 bytes | December 23 2018 21:37:14. | |
| sysconfig.py | File | 20168 bytes | February 05 2026 20:05:18. | |
| text_file.py | File | 12483 bytes | December 23 2018 21:37:14. | |
| unixccompiler.py | File | 14984 bytes | February 05 2026 20:00:12. | |
| util.py | File | 20789 bytes | December 23 2018 21:37:14. | |
| version.py | File | 12345 bytes | December 23 2018 21:37:14. | |
| versionpredicate.py | File | 5133 bytes | December 23 2018 21:37:14. |
"""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 distutils.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):
"""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
realm = self.realm or self.DEFAULT_REALM
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