def test_load_metadata_repo02_destructor(self): md = cr.Metadata(use_single_chunk=True) md.locate_and_load_xml(REPO_02_PATH) pkg = md.get('90f61e546938a11449b710160ad294618a5bd3062e46f8cf851fd0088af184b7') del(md) # in fact, md should not be destroyed yet, because it is # referenced from pkg! self.assertEqual(pkg.name, "fake_bash")
def first_method(): """Use of this method is discouraged.""" md = cr.Metadata() md.locate_and_load_xml(REPO_PATH) for key in md.keys(): pkg = md.get(key) print_package_info(pkg)
def oneshot(): """Parse all repo metadata for a given repo path. Use of this method is discouraged. """ md = cr.Metadata() md.locate_and_load_xml(REPO_PATH) for key in md.keys(): pkg = md.get(key) print_package_info(pkg)
def test_load_metadata_repo00(self): md = cr.Metadata() md.locate_and_load_xml(REPO_00_PATH) self.assertTrue(md) self.assertEqual(md.key, cr.HT_KEY_DEFAULT) self.assertEqual(md.len(), 0) self.assertEqual(md.keys(), []) self.assertFalse(md.has_key("foo")) self.assertFalse(md.has_key("")) self.assertFalse(md.remove("foo")) self.assertFalse(md.get("xxx"))
def cr_get_pkg_list(repo_base, log=sys.stdout): if not repo_base in pkg_list_cache: log.write('[%s] Parsing repodata from %s\n' % (stamp(), repo_base)) md = cr.Metadata() if not os.path.isfile(os.path.join(repo_base, 'repodata', 'repomd.xml')): raise Exception('Invalid repodata path: %s' % (repo_base, )) md.locate_and_load_xml(repo_base) pkgs = set() for key in md.keys(): pkgs.add(md.get(key)) pkg_list_cache[repo_base] = pkgs pkg_list_cache_orig[repo_base] = pkg_list_cache[repo_base].copy() return pkg_list_cache[repo_base]
def test_load_metadata_repo01(self): md = cr.Metadata() md.locate_and_load_xml(REPO_01_PATH) self.assertTrue(md) self.assertEqual(md.key, cr.HT_KEY_DEFAULT) self.assertEqual(md.len(), 1) self.assertEqual(md.keys(), ['152824bff2aa6d54f429d43e87a3ff3a0286505c6d93ec87692b5e3a9e3b97bf']) self.assertFalse(md.has_key("foo")) self.assertFalse(md.has_key("")) self.assertFalse(md.remove("foo")) pkg = md.get('152824bff2aa6d54f429d43e87a3ff3a0286505c6d93ec87692b5e3a9e3b97bf') self.assertTrue(pkg) self.assertEqual(pkg.name, "super_kernel")
def test_load_metadata_repo02(self): md = cr.Metadata() md.locate_and_load_xml(REPO_02_PATH) self.assertTrue(md) self.assertEqual(md.key, cr.HT_KEY_DEFAULT) self.assertEqual(md.len(), 2) self.assertEqual(md.keys(), ['6d43a638af70ef899933b1fd86a866f18f65b0e0e17dcbf2e42bfd0cdd7c63c3', '90f61e546938a11449b710160ad294618a5bd3062e46f8cf851fd0088af184b7']) self.assertFalse(md.has_key("foo")) self.assertFalse(md.has_key("")) self.assertFalse(md.remove("foo")) pkg = md.get('152824bff2aa6d54f429d43e87a3ff3a0286505c6d93ec87692b5e3a9e3b97bf') self.assertEqual(pkg, None) pkg = md.get('90f61e546938a11449b710160ad294618a5bd3062e46f8cf851fd0088af184b7') self.assertEqual(pkg.name, "fake_bash")