Commit bf742c3f authored by Jason R. Coombs's avatar Jason R. Coombs

Derive PyPirc from ConfigParser for more general purpose use.

parent fccf9357
...@@ -935,34 +935,35 @@ class Credential(object): ...@@ -935,34 +935,35 @@ class Credential(object):
def __str__(self): def __str__(self):
return '%(username)s:%(password)s' % vars(self) return '%(username)s:%(password)s' % vars(self)
class PyPirc(object): class PyPirc(ConfigParser.ConfigParser):
def __init__(self): def __init__(self):
""" """
Extract pypirc authentication information from home directory Load from ~/.pypirc
""" """
self.dict_ = {} defaults = dict.fromkeys(['username', 'password', 'repository'], '')
super(PyPirc, self).__init__(defaults)
rc = os.path.join(os.path.expanduser('~'), '.pypirc') rc = os.path.join(os.path.expanduser('~'), '.pypirc')
if not os.path.exists(rc): if os.path.exists(rc):
return self.read(rc)
initial = dict.fromkeys(['username', 'password', 'repository'], '')
config = ConfigParser.ConfigParser(initial)
config.read(rc)
@property
def dict_(self):
dict_ = {}
sections_with_repositories = [ sections_with_repositories = [
section for section in config.sections() section for section in self.sections()
if config.get(section, 'repository').strip() if self.get(section, 'repository').strip()
] ]
for section in sections_with_repositories: for section in sections_with_repositories:
cred = Credential( cred = Credential(
config.get(section, 'username').strip(), self.get(section, 'username').strip(),
config.get(section, 'password').strip(), self.get(section, 'password').strip(),
) )
repo = config.get(section, 'repository').strip() repo = self.get(section, 'repository').strip()
self.dict_[repo] = cred dict_[repo] = cred
return dict_
def __call__(self, url): def __call__(self, url):
""" """ """ """
......
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