mirror of git://git.sysmocom.de/ofono
test: Use pretty-printing from monitor-ofono
This commit is contained in:
parent
5afd6e1f5d
commit
2eaacefbe0
|
@ -297,8 +297,56 @@ class StkAgent(dbus.service.Object):
|
|||
else:
|
||||
return False
|
||||
|
||||
_dbus2py = {
|
||||
dbus.String : unicode,
|
||||
dbus.UInt32 : int,
|
||||
dbus.Int32 : int,
|
||||
dbus.Int16 : int,
|
||||
dbus.UInt16 : int,
|
||||
dbus.UInt64 : int,
|
||||
dbus.Int64 : int,
|
||||
dbus.Byte : int,
|
||||
dbus.Boolean : bool,
|
||||
dbus.ByteArray : str,
|
||||
dbus.ObjectPath : str
|
||||
}
|
||||
|
||||
def dbus2py(d):
|
||||
t = type(d)
|
||||
if t in _dbus2py:
|
||||
return _dbus2py[t](d)
|
||||
if t is dbus.Dictionary:
|
||||
return dict([(dbus2py(k), dbus2py(v)) for k, v in d.items()])
|
||||
if t is dbus.Array and d.signature == "y":
|
||||
return "".join([chr(b) for b in d])
|
||||
if t is dbus.Array or t is list:
|
||||
return [dbus2py(v) for v in d]
|
||||
if t is dbus.Struct or t is tuple:
|
||||
return tuple([dbus2py(v) for v in d])
|
||||
return d
|
||||
|
||||
def pretty(d):
|
||||
d = dbus2py(d)
|
||||
t = type(d)
|
||||
|
||||
if t in (dict, tuple, list) and len(d) > 0:
|
||||
if t is dict:
|
||||
d = ", ".join(["%s = %s" % (k, pretty(v))
|
||||
for k, v in d.items()])
|
||||
return "{ %s }" % d
|
||||
|
||||
d = " ".join([pretty(e) for e in d])
|
||||
|
||||
if t is tuple:
|
||||
return "( %s )" % d
|
||||
|
||||
if t is str:
|
||||
return "%s" % d
|
||||
|
||||
return str(d)
|
||||
|
||||
def property_changed(name, value):
|
||||
print "SimToolKit property: %s changed to '%s'" % (name, value)
|
||||
print "SimToolKit property: %s changed to '%s'" % (name, pretty(value))
|
||||
|
||||
if __name__ == '__main__':
|
||||
if len(sys.argv) == 2:
|
||||
|
|
Loading…
Reference in New Issue