summaryrefslogtreecommitdiffstats
path: root/pytools
diff options
context:
space:
mode:
authorBrad Bishop <bradleyb@fuzziesquirrel.com>2016-06-21 21:39:57 -0400
committerBrad Bishop <bradleyb@fuzziesquirrel.com>2016-06-21 21:42:04 -0400
commit38da62aea2b89e0d1094267d797d99b01c4be247 (patch)
tree0e664a081a2ab281ba5f34d04c9ac966fbd8ca3c /pytools
parent3cec296ebb22e7c5a9278a7691f731aca2b449e4 (diff)
downloadblackbird-skeleton-38da62aea2b89e0d1094267d797d99b01c4be247.tar.gz
blackbird-skeleton-38da62aea2b89e0d1094267d797d99b01c4be247.zip
obmcutil: Use freedesktop ObjectManager
The org.openbmc.Object.Enumerate interface is deprecated in favor of the freedesktop ObjectManager. Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Diffstat (limited to 'pytools')
-rw-r--r--pytools/obmcutil24
1 files changed, 19 insertions, 5 deletions
diff --git a/pytools/obmcutil b/pytools/obmcutil
index 02c2c2c..6db589e 100644
--- a/pytools/obmcutil
+++ b/pytools/obmcutil
@@ -18,7 +18,17 @@ def fix_byte(it,key,parent):
parent[key] = int(it)
else:
pass
-
+
+
+def merge_interfaces(objs):
+ for op in objs:
+ merged = {}
+ for interface, properties in objs[op].items():
+ merged.update(properties)
+
+ del objs[op]
+ objs[op] = merged
+
def printDict(name,data):
if (isinstance(data, dict)):
@@ -114,14 +124,16 @@ dbus_objects = {
'getinventory' : {
'bus_name' : 'org.openbmc.Inventory',
'object_name' : '/org/openbmc/inventory',
- 'interface_name' : 'org.openbmc.Object.Enumerate',
- 'method' : 'enumerate'
+ 'interface_name' : 'org.freedesktop.DBus.ObjectManager',
+ 'method' : 'GetManagedObjects',
+ 'transform' : merge_interfaces
},
'getsensors' : {
'bus_name' : 'org.openbmc.Sensors',
'object_name' : '/org/openbmc/sensors',
- 'interface_name' : 'org.openbmc.Object.Enumerate',
- 'method' : 'enumerate'
+ 'interface_name' : 'org.freedesktop.DBus.ObjectManager',
+ 'method' : 'GetManagedObjects',
+ 'transform' : merge_interfaces
},
'host' : {
'bus_name' : 'org.openbmc.control.Host',
@@ -179,6 +191,8 @@ if (method_name != ""):
data = methd(*sys.argv)
fix_byte(data,None,None)
pydata = json.loads(json.dumps(data))
+ if 'transform' in objinfo:
+ objinfo['transform'](pydata)
printDict("",pydata)
except Exception as e:
print e
OpenPOWER on IntegriCloud