from pkgcore.config import load_config from pkgcore.util.parserestrict import parse_match from package_module import Package def find_packages_in_tree(seq, repo='portdir'): conf = load_config() repo_query = conf.repo[repo].itermatch l = [] for x in seq: query = parse_match(x.name) try: best = max(repo_query(query)) except ValueError: # thrown when max([]), ie no matches continue l.append(Package(best.cpvstr)) return l