def execute(self, args, uargs): pm = PackageManager() metafilter = MetaPackageFilter() if args.only_master_packages: metafilter.only_master_packages() if args.tags is not None: for t in args.tags: metafilter.with_tag(t) if args.keywords is not None and len(args.keywords) > 0: for kw in args.keywords: metafilter.with_keyword(kw) # Pkg list mflist = sorted(pm.list_available_packages().values(), key=IDENTIFIER_GETTER) # manage tags TagUtils.tag_latest(mflist) TagUtils.tag_installed(mflist, pm.list_installed_packages().keys()) # Print filtered packages rend = ManifestListRenderer(metafilter) rend.extend(filter(metafilter.matches, mflist)) pm.print_renderer(rend)
def test_pkgnames(self): f = MetaPackageFilter() f.with_names(["container-A", "version"]) print("Filter:", f) self.assertEqual(7, len(list(filter(f.matches, self.content)))) f.only_master_packages() print("Filter:", f) self.assertEqual(2, len(list(filter(f.matches, self.content))))
def execute(self, args, uargs): pm = PackageManager() metafilter = MetaPackageFilter() if not get_optional_arg(args, "show_all_packages", False): metafilter.only_master_packages() for t in get_optional_arg(args, "tags", []): metafilter.with_tag(t) for kw in get_optional_arg(args, "keywords", []): metafilter.with_keyword(kw) # Print filtered packages rend = ManifestListRenderer(metafilter) mflist = pm.list_installed_packages().values() rend.extend(filter(metafilter.matches, mflist)) pm.print_renderer(rend)
def test_tags(self): f = MetaPackageFilter() f.with_tag("foo") print("Filter:", f) self.assertEqual(5, len(list(filter(f.matches, self.content)))) f = MetaPackageFilter() f.with_tag("foo,bar") print("Filter:", f) self.assertEqual(7, len(list(filter(f.matches, self.content)))) f = MetaPackageFilter() f.with_tag("bar") print("Filter:", f) self.assertEqual(5, len(list(filter(f.matches, self.content)))) f.with_tag("foo") print("Filter:", f) self.assertEqual(3, len(list(filter(f.matches, self.content)))) f.with_tag("foo2") print("Filter:", f) self.assertEqual(0, len(list(filter(f.matches, self.content)))) f = MetaPackageFilter() f.with_tag("bar") print("Filter:", f) self.assertEqual(5, len(list(filter(f.matches, self.content)))) f.with_tag("foo") print("Filter:", f) self.assertEqual(3, len(list(filter(f.matches, self.content)))) f.with_keyword("container-A") print("Filter:", f) self.assertEqual(2, len(list(filter(f.matches, self.content))))
def test_keywords(self): f = MetaPackageFilter() f.with_keyword("compress") print("Filter:", f) self.assertEqual(4, len(list(filter(f.matches, self.content)))) f = MetaPackageFilter() f.with_keyword("container") print("Filter:", f) self.assertEqual(9, len(list(filter(f.matches, self.content)))) f = MetaPackageFilter() f.with_keyword("container,compress") print("Filter:", f) self.assertEqual(13, len(list(filter(f.matches, self.content)))) f.with_keyword("gz") print("Filter:", f) self.assertEqual(1, len(list(filter(f.matches, self.content)))) f.only_master_packages() print("Filter:", f) self.assertEqual(0, len(list(filter(f.matches, self.content))))
def test_master(self): f = MetaPackageFilter() f.only_master_packages() print("Filter:", f) self.assertEqual(4, len(list(filter(f.matches, self.content))))