lots of changes
diff --git a/bin/Openbmc.py b/bin/Openbmc.py
index ffa38dd..4b10739 100644
--- a/bin/Openbmc.py
+++ b/bin/Openbmc.py
@@ -18,11 +18,22 @@
['NONE','CPU','DIMM','BACKPLANE','RISER_CARD','FAN']
}
+
+def object_to_bus_name(obj):
+ parts = obj.split('/')
+ parts.pop(0)
+ parts.pop()
+ return ".".join(parts)
+
+def bus_to_object_name(bus_name):
+ return "/"+bus_name.replace('.','/')
+
+
class DbusProperty:
def __init__(self,name,value):
self.dbusBaseType = {
'dbus.Byte' : 'int',
- 'dbus.Float' : 'float',
+ 'dbus.Double' : 'float',
'dbus.Int32' : 'int',
'dbus.UInt32' : 'long',
'dbus.String' : 'str',
@@ -30,23 +41,28 @@
}
self.name = str(name)
self.dbusType = str(type(value)).split("'")[1]
+ self.variant_level = value.variant_level
self.value = None
+
try:
self.value = eval(self.dbusBaseType[self.dbusType]+"(value)")
except:
raise Exception("Unknown dbus type: "+self.dbusType)
- def changeValue(self,value):
+ def setValue(self,value):
try:
self.value = eval(self.dbusBaseType[self.dbusType]+"(value)")
except:
raise Exception("Unknown dbus type: "+self.dbusType)
+ def setVariant(self,variant_level):
+ self.variant_level = variant_level
def getName(self):
return self.name
+
def getValue(self):
- e = self.dbusType+"(self.value)"
+ e = self.dbusType+"(self.value, variant_level="+str(self.variant_level)+")"
return eval(e)
#def __getstate__(self):