Add exception handling to some service method calls
[connman] / test / list-networks
index c799863..e8fb00a 100755 (executable)
@@ -1,26 +1,54 @@
 #!/usr/bin/python
 
 import dbus
+import string
 
 bus = dbus.SystemBus()
 
 manager = dbus.Interface(bus.get_object("org.moblin.connman", "/"),
                                        "org.moblin.connman.Manager")
 
-elements = manager.ListElements()
+properties = manager.GetProperties()
 
-for path in elements:
-       element = dbus.Interface(bus.get_object("org.moblin.connman", path),
-                                               "org.moblin.connman.Element")
+def convert_ssid(ssid_list):
+       ssid = ""
+       for byte in ssid_list:
+               if (str(byte) in string.printable):
+                       ssid = ssid + str(byte)
+               else:
+                       ssid = ssid + "."
+       return ssid
 
-       properties = element.GetProperties()
+for path in properties["Devices"]:
+       device = dbus.Interface(bus.get_object("org.moblin.connman", path),
+                                               "org.moblin.connman.Device")
 
-       if (properties["Type"] == "device"):
-               print "[ %s ]" % (path)
+       properties = device.GetProperties()
 
-       if (properties["Type"] == "network"):
-               if (properties["Enabled"] == 1):
-                       state = "*"
-               else:
-                       state = " "
-               print "    %s %s" % (state, properties["SSID"])
+       try:
+               if properties["Type"] not in ["wifi", "wimax",
+                                       "bluetooth", "cellular"]:
+                       continue
+       except:
+               continue
+
+       print "[ %s ]" % (path)
+
+       for path in properties["Networks"]:
+               network = dbus.Interface(bus.get_object("org.moblin.connman", path),
+                                               "org.moblin.connman.Network")
+
+               properties = network.GetProperties()
+
+               print "    [ %s ]" % (path)
+
+               for key in properties.keys():
+                       if key == "WiFi.SSID":
+                               ssid = convert_ssid(properties[key])
+                               print "        %s = [ %s ]" % (key, ssid)
+                       elif key in ["Strength", "Priority"]:
+                               print "        %s = %d" % (key, properties[key])
+                       else:
+                               print "        %s = %s" % (key, properties[key])
+
+       print