diff options
author | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2016-06-21 21:39:57 -0400 |
---|---|---|
committer | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2016-06-21 21:42:04 -0400 |
commit | 38da62aea2b89e0d1094267d797d99b01c4be247 (patch) | |
tree | 0e664a081a2ab281ba5f34d04c9ac966fbd8ca3c /pytools | |
parent | 3cec296ebb22e7c5a9278a7691f731aca2b449e4 (diff) | |
download | blackbird-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/obmcutil | 24 |
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 |