installdb: Use a dictionary for reverse dep info

Bumped cache version in order to avoid crashes with old caches.
This commit is contained in:
Fatih Aşıcı
2010-05-13 11:23:04 +00:00
parent c395fd478a
commit 42728fb7ba
2 changed files with 8 additions and 6 deletions
+7 -5
View File
@@ -88,10 +88,12 @@ class InstallDB(lazydb.LazyDB):
if deps:
name = pkg.getTagData('Name')
for dep in deps.tags("Dependency"):
revdeps.setdefault(dep.firstChild().data(), set()).add((name, dep.toString()))
revdep = revdeps.setdefault(dep.firstChild().data(), {})
revdep[name] = dep.toString()
for anydep in deps.tags("AnyDependency"):
for dep in anydep.tags("Dependency"):
revdeps.setdefault(dep.firstChild().data(), set()).add((name, anydep.toString()))
revdep = revdeps.setdefault(dep.firstChild().data(), {})
revdep[name] = anydep.toString()
def __generate_revdeps(self):
revdeps = {}
@@ -220,11 +222,11 @@ class InstallDB(lazydb.LazyDB):
return self.__make_dependency(depStr)
def get_rev_deps(self, name):
rev_deps = []
if self.rev_deps_db.has_key(name):
for pkg, dep in self.rev_deps_db[name]:
package_revdeps = self.rev_deps_db.get(name)
if package_revdeps:
for pkg, dep in package_revdeps.items():
dependency = self.__create_dependency(dep)
rev_deps.append((pkg, dependency))
+1 -1
View File
@@ -37,7 +37,7 @@ class Singleton(object):
class LazyDB(Singleton):
cache_version = "2.2"
cache_version = "2.2.90"
def __init__(self, cacheable=False, cachedir=None):
if not self.__dict__.has_key("initialized"):