dbus_to_str() converts dicts & arrays recursively
authorKonstantin Stepanov <kstep@p-nut.info>
Mon, 29 Nov 2010 12:16:51 +0000 (14:16 +0200)
committerKonstantin Stepanov <kstep@p-nut.info>
Mon, 29 Nov 2010 12:16:51 +0000 (14:16 +0200)
dbuscron/bus.py

index 5eb9303..9bf73a8 100644 (file)
@@ -11,9 +11,9 @@ def dbus_to_str(value):
     elif isinstance(value, dbus.ByteArray):
         return ','.join(str(ord(v)) for v in value)
     elif isinstance(value, dbus.Array):
-        return ','.join(str(v) for v in value)
+        return ','.join(dbus_to_str(v) for v in value)
     elif isinstance(value, dbus.Dictionary):
-        return ','.join('%s:%s' % (k, v) for k, v in value.iteritems())
+        return ','.join('%s:%s' % (k, dbus_to_str(v)) for k, v in value.iteritems())
     else:
         return str(value)