Fix crash with property blobs
[connman] / test / test-manager
index 5ed672a..4b056f9 100755 (executable)
@@ -10,12 +10,14 @@ manager = dbus.Interface(bus.get_object("org.moblin.connman", "/"),
 properties = manager.GetProperties()
 
 def print_properties(key, value):
-       if (key == "Profiles"):
+       if key == "Profiles":
                interface = "org.moblin.connman.Profile"
-       elif (key == "Devices"):
+       elif key == "Devices":
                interface = "org.moblin.connman.Device"
-       elif (key == "Connections"):
+       elif key == "Connections":
                interface = "org.moblin.connman.Connection"
+       elif key == "Services":
+               interface = "org.moblin.connman.Service"
        else:
                return
 
@@ -28,11 +30,38 @@ def print_properties(key, value):
                properties = obj.GetProperties()
 
                for key in properties.keys():
-                       print "        %s = %s" % (key, properties[key])
+                       if key == "Networks":
+                               continue
+
+                       if key in ["Powered", "Scanning", "Connected",
+                                       "Available", "Remember", "Default"]:
+                               if properties[key] == dbus.Boolean(1):
+                                       val = "true"
+                               else:
+                                       val = "false"
+                       elif key in ["Strength", "Priority"]:
+                               val = int(properties[key])
+                       else:
+                               val = str(properties[key])
+
+                       print "        %s = %s" % (key, val)
+
+               if "Networks" in properties.keys():
+                       list = ""
+                       for path in properties["Networks"]:
+                               val = str(path)
+                               list = list + val[val.rfind("/") + 1:] + " "
+                       print "        Networks = [ %s]" % (list)
 
 for key in properties.keys():
-       if (key in ["Profiles", "Devices", "Connections"]):
+       if key in ["Profiles", "Devices", "Connections", "Services"]:
                print_properties(key, properties[key])
+       elif key in ["OfflineMode"]:
+               print "%s" % (key)
+               if properties[key] == dbus.Boolean(1):
+                       print "    true"
+               else:
+                       print "    false"
        else:
                print "%s" % (key)
                print "    %s" % (properties[key])