From 02507f9b08239a28f464c1009c594c84482a662c Mon Sep 17 00:00:00 2001 From: Matt Prahl Date: Feb 09 2017 20:03:09 +0000 Subject: Have xmd default as an empty dictionary --- diff --git a/modulemd/__init__.py b/modulemd/__init__.py index 1b25f66..9fc79f9 100644 --- a/modulemd/__init__.py +++ b/modulemd/__init__.py @@ -75,7 +75,7 @@ class ModuleMetadata(object): self.community = "" self.documentation = "" self.tracker = "" - self.xmd = None + self.xmd = dict() self.profiles = dict() self.api = ModuleAPI() self.filter = ModuleFilter() @@ -630,7 +630,7 @@ class ModuleMetadata(object): @xmd.setter def xmd(self, d): - if d is not None and not isinstance(d, dict): + if not isinstance(d, dict): raise TypeError("xmd: data type not supported") self._xmd = d diff --git a/modulemd/tests/io.py b/modulemd/tests/io.py index cee9644..5f73b1e 100644 --- a/modulemd/tests/io.py +++ b/modulemd/tests/io.py @@ -51,7 +51,7 @@ class TestIO(unittest.TestCase): self.assertSetEqual(self.mmd.module_licenses, set(["MIT"])) self.assertSetEqual(self.mmd.content_licenses, set(["Beerware", "GPLv2+", "zlib"])) - self.assertIsNone(self.mmd.xmd) + self.assertEqual(self.mmd.xmd, {'some_key': 'some_data'}) self.assertDictEqual(self.mmd.buildrequires, { "generational-core" : "and-its-stream-name", diff --git a/spec.yaml b/spec.yaml index e6d05ce..bce4314 100644 --- a/spec.yaml +++ b/spec.yaml @@ -38,9 +38,10 @@ data: - GPLv2+ - zlib # Extensible metadata block - # A dictionary of user-defined keys and values. May be null. - # Optional. Defaults to null. - xmd: ~ + # A dictionary of user-defined keys and values. + # Optional. Defaults to an empty dictionary. + xmd: + some_key: some_data # Module dependencies, if any. Optional. # TODO: Provides, conflicts, obsoletes, recommends, etc. # TODO: Stream name globbing or regular expression support