Handle empty top-level parameters
If classes/applications/parameters are undefined, that's not an error.
Just make them empty collections.
Signed-off-by: martin f. krafft <madduck@madduck.net>
diff --git a/storage/yaml_fs/yamlfile.py b/storage/yaml_fs/yamlfile.py
index ee69b0a..2a8b21a 100644
--- a/storage/yaml_fs/yamlfile.py
+++ b/storage/yaml_fs/yamlfile.py
@@ -26,9 +26,21 @@
fp.close()
def _get_entity(self):
- classes = datatypes.Classes(self._data.get('classes', []))
- applications = datatypes.Applications(self._data.get('applications', []))
- parameters = datatypes.Parameters(self._data.get('parameters', {}))
+ classes = self._data.get('classes')
+ if classes is None:
+ classes = []
+ classes = datatypes.Classes(classes)
+
+ applications = self._data.get('applications')
+ if applications is None:
+ applications = []
+ applications = datatypes.Applications(applications)
+
+ parameters = self._data.get('parameters')
+ if parameters is None:
+ parameters = {}
+ parameters = datatypes.Parameters(parameters)
+
return datatypes.Entity(classes, applications, parameters)
entity = property(lambda self: self._get_entity())