pdmgen: workaround restriction in sdbus++ NamedElement
sdbusplus commit dfb5642201 added a restriction to NamedElement that it
can only have strings as a 'name', in order to catch bugs in malformed
YAML, but the script here relies on it being able to hold any object.
Workaround this by saving/restoring the 'name' property prior to
constructing NamedElement objects.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: Ia1af62309e2af9a529dd2806b7981eebd1db5806
diff --git a/src/pdmgen.py b/src/pdmgen.py
index 53e192e..b0e0908 100755
--- a/src/pdmgen.py
+++ b/src/pdmgen.py
@@ -243,7 +243,15 @@
self.configfile = kw.pop('configfile')
self.cls = kw.pop('class')
self.subclass = kw.pop(self.cls)
+
+ # TODO: NamedElement requires 'name' to be a string, but in many cases
+ # this script treats 'name' as a dict. Save the property off and
+ # insert it after ConfigEntry does its own thing to avoid
+ # exceptions. This should be refactored throughout the whole
+ # script to not overload 'name' as a dict.
+ name_save = kw.pop('name')
super(ConfigEntry, self).__init__(**kw)
+ self.name = name_save
def factory(self, objs):
''' Optional factory interface for subclasses to add