diff --git a/pisi/api.py b/pisi/api.py index 9bc3a31c..a2b2ed83 100644 --- a/pisi/api.py +++ b/pisi/api.py @@ -339,6 +339,9 @@ def info_name(package_name, installed=False): return metadata, files def search_package_terms(terms, repo = pisi.itembyrepodb.all): + return search_in_packages(terms, ctx.packagedb.list_packages(repo), repo) + +def search_in_packages(terms, packages, repo = pisi.itembyrepodb.all): def search(package, term): term = unicode(term).lower() @@ -348,7 +351,7 @@ def search_package_terms(terms, repo = pisi.itembyrepodb.all): return True found = [] - for name in ctx.packagedb.list_packages(repo): + for name in packages: pkg = ctx.packagedb.get_package(name, repo) if terms == filter(lambda x:search(pkg, x), terms): found.append(name)