Make SourcesList __init__ method also set self.module
This was originally required to allow other methods in SourcesList to fail, but subsequent changes rendered that unnecessary, and it's just a cleanup now, and avoids passing in module separately to save().
This commit is contained in:
parent
46c015375d
commit
ca50b5c5e0
1 changed files with 10 additions and 9 deletions
|
@ -124,7 +124,8 @@ class InvalidSource(Exception):
|
|||
# Simple version of aptsources.sourceslist.SourcesList.
|
||||
# No advanced logic and no backups inside.
|
||||
class SourcesList(object):
|
||||
def __init__(self):
|
||||
def __init__(self, module):
|
||||
self.module = module
|
||||
self.files = {} # group sources by file
|
||||
# Repositories that we're adding -- used to implement mode param
|
||||
self.new_repos = set()
|
||||
|
@ -234,7 +235,7 @@ class SourcesList(object):
|
|||
group.append((n, valid, enabled, source, comment))
|
||||
self.files[file] = group
|
||||
|
||||
def save(self, module):
|
||||
def save(self):
|
||||
for filename, sources in self.files.items():
|
||||
if sources:
|
||||
d, fn = os.path.split(filename)
|
||||
|
@ -255,13 +256,13 @@ class SourcesList(object):
|
|||
try:
|
||||
f.write(line)
|
||||
except IOError, err:
|
||||
module.fail_json(msg="Failed to write to file %s: %s" % (tmp_path, unicode(err)))
|
||||
module.atomic_move(tmp_path, filename)
|
||||
self.module.fail_json(msg="Failed to write to file %s: %s" % (tmp_path, unicode(err)))
|
||||
self.module.atomic_move(tmp_path, filename)
|
||||
|
||||
# allow the user to override the default mode
|
||||
if filename in self.new_repos:
|
||||
this_mode = module.params['mode']
|
||||
module.set_mode_if_different(filename, this_mode, False)
|
||||
this_mode = self.module.params['mode']
|
||||
self.module.set_mode_if_different(filename, this_mode, False)
|
||||
else:
|
||||
del self.files[filename]
|
||||
if os.path.exists(filename):
|
||||
|
@ -329,7 +330,7 @@ class UbuntuSourcesList(SourcesList):
|
|||
def __init__(self, module, add_ppa_signing_keys_callback=None):
|
||||
self.module = module
|
||||
self.add_ppa_signing_keys_callback = add_ppa_signing_keys_callback
|
||||
super(UbuntuSourcesList, self).__init__()
|
||||
super(UbuntuSourcesList, self).__init__(module)
|
||||
|
||||
def _get_ppa_info(self, owner_name, ppa_name):
|
||||
lp_api = self.LP_API % (owner_name, ppa_name)
|
||||
|
@ -438,7 +439,7 @@ def main():
|
|||
sourceslist = UbuntuSourcesList(module,
|
||||
add_ppa_signing_keys_callback=get_add_ppa_signing_key_callback(module))
|
||||
elif isinstance(distro, aptsources_distro.DebianDistribution) or isinstance(distro, aptsources_distro.Distribution):
|
||||
sourceslist = SourcesList()
|
||||
sourceslist = SourcesList(module)
|
||||
else:
|
||||
module.fail_json(msg='Module apt_repository supports only Debian and Ubuntu.')
|
||||
|
||||
|
@ -462,7 +463,7 @@ def main():
|
|||
|
||||
if not module.check_mode and changed:
|
||||
try:
|
||||
sourceslist.save(module)
|
||||
sourceslist.save()
|
||||
if update_cache:
|
||||
cache = apt.Cache()
|
||||
cache.update()
|
||||
|
|
Loading…
Reference in a new issue