From 08f585d2a2354d57726b6ad126fbe209cb6feebf Mon Sep 17 00:00:00 2001 From: Faik Uygur Date: Tue, 30 Jun 2009 13:44:21 +0000 Subject: [PATCH] a little duplication here for now... we need search only in these packages method for pm --- pisi/db/packagedb.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/pisi/db/packagedb.py b/pisi/db/packagedb.py index 0d9e3063..02c1e3ad 100644 --- a/pisi/db/packagedb.py +++ b/pisi/db/packagedb.py @@ -84,6 +84,20 @@ class PackageDB(lazydb.LazyDB): pkg, repo = self.get_package_repo(name, repo) return pkg + def search_in_packages(self, packages, terms, lang=None): + resum = '.*?%s.*?' + redesc = '.*?%s.*?' + if not lang: + lang = pisi.pxml.autoxml.LocalText.get_lang() + found = [] + for name in packages: + xml = self.pdb.get_item(name) + if terms == filter(lambda term: re.compile(term, re.I).search(name) or \ + re.compile(resum % (lang, term), re.I).search(xml) or \ + re.compile(redesc % (lang, term), re.I).search(xml), terms): + found.append(name) + return found + def search_package(self, terms, lang=None, repo=None): resum = '.*?%s.*?' redesc = '.*?%s.*?'