Skip to content

Commit

Permalink
fix: remember enable repos, when resetting base
Browse files Browse the repository at this point in the history
  • Loading branch information
Tim Lauridsen committed Jun 9, 2015
1 parent fd45b13 commit 7dfc9d2
Showing 1 changed file with 10 additions and 6 deletions.
16 changes: 10 additions & 6 deletions python/dnfdaemon/server/__init__.py
Expand Up @@ -203,6 +203,7 @@ def __init__(self):
self._obsoletes_list = None # Cache for obsoletes
self._gpg_confirm = {} # store confirmed gpg key import confirmations
self._config_options = {}
self._enabled_repos = []

# this must be overloaded in the parent class
def GPGImport(self, pkg_id, userid, hexkeyid, keyurl, timestamp):
Expand Down Expand Up @@ -321,14 +322,9 @@ def get_repo(self, repo_id):

def set_enabled_repos(self, repo_ids):
"""Enable a list of repos, disable the ones not in list"""
self._enabled_repos = repo_ids
self._reset_base()
self._get_base(reset=True, load_sack=False)
for repo in self.base.repos.all():
if repo.id in repo_ids:
logger.debug(" enabled : %s ", repo.id)
repo.enable()
else:
repo.disable()
self._base.setup_base() # load the sack with the current enabled repos

def get_packages(self, pkg_filter, attrs):
Expand Down Expand Up @@ -1057,6 +1053,14 @@ def _get_base(self, reset=False, load_sack=True):
setattr(self._base.conf, option, value)
self.logger.debug("setting cached option %s = %s" %
(option, value))
if self._enabled_repos:
for repo in self._base.repos.all():
if repo.id in self._enabled_repos:
logger.debug(" enabled : %s ", repo.id)
repo.enable()
else:
repo.disable()
pass
if load_sack:
self._base.setup_base()
return self._base
Expand Down

0 comments on commit 7dfc9d2

Please sign in to comment.