From af5e8957ec4d89a0b5cad9456d1ad348a63b5329 Mon Sep 17 00:00:00 2001 From: Faik Uygur Date: Wed, 17 Jun 2009 13:48:08 +0000 Subject: [PATCH] get isa tagged packages --- pisi/db/packagedb.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/pisi/db/packagedb.py b/pisi/db/packagedb.py index 68e5a1cf..d4f5684d 100644 --- a/pisi/db/packagedb.py +++ b/pisi/db/packagedb.py @@ -128,6 +128,19 @@ class PackageDB(lazydb.LazyDB): def get_obsoletes(self, repo=None): return self.odb.get_list_item(repo) + def get_isa_packages(self, isa): + repodb = pisi.db.repodb.RepoDB() + + packages = set() + for repo in repodb.list_repos(): + doc = repodb.get_repo_doc(repo) + for package in doc.tags("Package"): + if package.getTagData("IsA"): + for node in package.tags("IsA"): + if node.firstChild().data() == isa: + packages.add(package.getTagData("Name")) + return list(packages) + def get_rev_deps(self, name, repo=None): try: rvdb = self.rvdb.get_item(name, repo)