regenerate caches after repo update

This commit is contained in:
Faik Uygur
2009-06-18 12:12:35 +00:00
parent 7bb4329c5c
commit 365d6fe997
3 changed files with 15 additions and 2 deletions
+2 -2
View File
@@ -693,13 +693,13 @@ def update_repos(repos, force=False):
pisi.db.historydb.HistoryDB().create_history("repoupdate")
for repo in repos:
__update_repo(repo, force)
pisi.db.flush_caches()
pisi.db.regenerate_caches()
@locked
def update_repo(repo, force=False):
pisi.db.historydb.HistoryDB().create_history("repoupdate")
__update_repo(repo, force)
pisi.db.flush_caches()
pisi.db.regenerate_caches()
def __update_repo(repo, force=False):
ctx.ui.info(_('* Updating repository: %s') % repo)
+7
View File
@@ -29,3 +29,10 @@ def update_caches():
installdb.InstallDB(), groupdb.GroupDB()]:
if db.is_initialized():
db.cache_save()
def regenerate_caches():
flush_caches()
# Invalidate and flush caches to re-generate them when needed
for db in [packagedb.PackageDB(), sourcedb.SourceDB(),
componentdb.ComponentDB(), groupdb.GroupDB()]:
db.cache_regenerate()
+6
View File
@@ -68,6 +68,12 @@ class LazyDB(Singleton):
def invalidate(self):
self._delete()
def cache_regenerate(self):
try:
self.this_attr_does_not_exist()
except AttributeError:
pass
def __init(self):
if not self.cache_load():
self.init()