Commit 80adba1c authored by Jason R. Coombs's avatar Jason R. Coombs

Use SafeConfigParser in PyPIConfig file. Allows percent signs to be specified...

Use SafeConfigParser in PyPIConfig file. Allows percent signs to be specified using two percent signs. Fixes #442.
parent ca4321bb
......@@ -3,6 +3,14 @@ CHANGES
=======
----
19.0
----
* Issue #442: Use SafeConfigParser for parsing .pypirc file. Now
fields containing the percent symbol (%) must have each percent
replaced with two percent symbols (%%).
------
18.8.1
------
......
......@@ -945,14 +945,14 @@ class Credential(object):
def __str__(self):
return '%(username)s:%(password)s' % vars(self)
class PyPIConfig(configparser.ConfigParser):
class PyPIConfig(configparser.SafeConfigParser):
def __init__(self):
"""
Load from ~/.pypirc
"""
defaults = dict.fromkeys(['username', 'password', 'repository'], '')
configparser.ConfigParser.__init__(self, defaults)
configparser.SafeConfigParser.__init__(self, defaults)
rc = os.path.join(os.path.expanduser('~'), '.pypirc')
if os.path.exists(rc):
......
......@@ -216,7 +216,7 @@ class TestPyPIConfig:
[pypi]
repository=https://pypi.python.org
username=jaraco
password=pity%
password=pity%%
"""))
cfg = setuptools.package_index.PyPIConfig()
cred = cfg.creds_by_repository['https://pypi.python.org']
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment