Python: Add __contains__ method to Repomd() class
authorTomas Mlcoch <tmlcoch@redhat.com>
Sun, 28 Dec 2014 20:18:44 +0000 (21:18 +0100)
committerTomas Mlcoch <tmlcoch@redhat.com>
Sun, 28 Dec 2014 20:18:44 +0000 (21:18 +0100)
src/python/__init__.py
tests/python/tests/test_repomd.py

index 38e7425..763dd9f 100644 (file)
@@ -158,6 +158,12 @@ class Repomd(_createrepo_c.Repomd):
     def __missing__(self, key):
         raise KeyError("Record with type '%s' doesn't exist" % key)
 
+    def __contains__(self, key):
+        for rec in self.records:
+            if rec.type == key:
+                return True
+        return False
+
 # RepomdRecord class
 
 class RepomdRecord(_createrepo_c.RepomdRecord):
index 2244ba2..e54ce20 100644 (file)
@@ -146,3 +146,5 @@ class TestCaseRepomd(unittest.TestCase):
         self.assertEqual(rec.type, "primary")
 
         self.assertRaises(KeyError, repomd.__getitem__, "foobar")
+
+        self.assertTrue("primary" in repomd)