sdbus++: Fix construction of objects with flags
Objects don't take kwargs for their constructors so don't call the
object constructor with kwargs
```
| Traceback (most recent call last):
| File "/home/spirit/src/vesnin/openbmc-alternate/build/tmp/work/armv5e-openbmc-linux-gnueabi/phosphor-dbus-interfaces/1.0-r1/recipe-sysroot-native/usr/bin/sdbus++", line 50, in <module>
| main()
| File "/home/spirit/src/vesnin/openbmc-alternate/build/tmp/work/armv5e-openbmc-linux-gnueabi/phosphor-dbus-interfaces/1.0-r1/recipe-sysroot-native/usr/bin/sdbus++", line 45, in main
| instance = valid_types[args.typeName].load(args.item, args.rootdir)
| File "/home/spirit/src/vesnin/openbmc-alternate/build/tmp/work/armv5e-openbmc-linux-gnueabi/phosphor-dbus-interfaces/1.0-r1/recipe-sysroot-native/usr/lib/python2.7/site-packages/sdbusplus/interface.py", line 21, in load
| return Interface(**y)
| File "/home/spirit/src/vesnin/openbmc-alternate/build/tmp/work/armv5e-openbmc-linux-gnueabi/phosphor-dbus-interfaces/1.0-r1/recipe-sysroot-native/usr/lib/python2.7/site-packages/sdbusplus/interface.py", line 25, in __init__
| [Property(**p) for p in kwargs.pop('properties', [])]
| File "/home/spirit/src/vesnin/openbmc-alternate/build/tmp/work/armv5e-openbmc-linux-gnueabi/phosphor-dbus-interfaces/1.0-r1/recipe-sysroot-native/usr/lib/python2.7/site-packages/sdbusplus/property.py", line 12, in __init__
| super(Property, self).__init__(**kwargs)
| File "/home/spirit/src/vesnin/openbmc-alternate/build/tmp/work/armv5e-openbmc-linux-gnueabi/phosphor-dbus-interfaces/1.0-r1/recipe-sysroot-native/usr/lib/python2.7/site-packages/sdbusplus/namedelement.py", line 8, in __init__
| super(NamedElement, self).__init__(**kwargs)
| File "/home/spirit/src/vesnin/openbmc-alternate/build/tmp/work/armv5e-openbmc-linux-gnueabi/phosphor-dbus-interfaces/1.0-r1/recipe-sysroot-native/usr/lib/python2.7/site-packages/sdbusplus/renderer.py", line 3, in __init__
| super(Renderer, self).__init__(**kwargs)
| TypeError: object.__init__() takes no parameters
```
Fixes openbmc/sdbusplus#30
Tested:
Ran with some locally modified properties marked as const. Verified
that the generated code marks those as const and removes their
setter
Change-Id: I94965add8588a8a3168662e00ef2502276440ee5
Signed-off-by: William A. Kennington III <wak@google.com>
diff --git a/tools/sdbusplus/namedelement.py b/tools/sdbusplus/namedelement.py
index ffc3541..5048654 100644
--- a/tools/sdbusplus/namedelement.py
+++ b/tools/sdbusplus/namedelement.py
@@ -3,9 +3,9 @@
class NamedElement(object):
def __init__(self, **kwargs):
+ super(NamedElement, self).__init__()
self.name = kwargs.pop('name', "unnamed")
self.description = kwargs.pop('description', "")
- super(NamedElement, self).__init__(**kwargs)
def __getattr__(self, name):
l = {'CamelCase': lambda: inflection.camelize(self.name),
diff --git a/tools/sdbusplus/renderer.py b/tools/sdbusplus/renderer.py
index 65541d4..9a52593 100644
--- a/tools/sdbusplus/renderer.py
+++ b/tools/sdbusplus/renderer.py
@@ -1,6 +1,6 @@
class Renderer(object):
def __init__(self, **kwargs):
- super(Renderer, self).__init__(**kwargs)
+ super(Renderer, self).__init__()
def render(self, loader, template, **kwargs):
t = loader.get_template(template)