DA: Add exception check for time logic
[platform/upstream/connman.git] / test / list-services
index 64439b5..4accf77 100755 (executable)
@@ -4,32 +4,52 @@ import dbus
 
 def extract_values(values):
        val = "{"
-       for key in values.keys():
+       for key in list(values.keys()):
                val += " " + key + "="
-               val += str(values[key])
+               if key in ["PrefixLength"]:
+                       val += "%s" % (int(values[key]))
+               else:
+                       if key in ["Servers", "Excludes"]:
+                               val += extract_list(values[key])
+                       elif key in ["Ethernet", "IPv4"]:
+                               val += extract_values(values[key])
+                       else:
+                               val += str(values[key])
        val += " }"
        return val
 
-bus = dbus.SystemBus()
-
-manager = dbus.Interface(bus.get_object("org.moblin.connman", "/"),
-                                       "org.moblin.connman.Manager")
-
-properties = manager.GetProperties()
-
-for path in properties["Services"]:
-       service = dbus.Interface(bus.get_object("org.moblin.connman", path),
-                                               "org.moblin.connman.Service")
-
-       properties = service.GetProperties()
+def extract_list(list):
+       val = "["
+       for i in list:
+               val += " " + str(i)
+       val += " ]"
+       return val
 
-       print "[ %s ]" % (path)
+bus = dbus.SystemBus()
 
-       for key in properties.keys():
-               if key in ["IPv4", "Ethernet"]:
+manager = dbus.Interface(bus.get_object("net.connman", "/"),
+                                       "net.connman.Manager")
+
+for path, properties in manager.GetServices():
+       service = dbus.Interface(bus.get_object("net.connman", path),
+                                               "net.connman.Service")
+       identifier = path[path.rfind("/") + 1:]
+       print("[ %s ]" % (identifier))
+
+       for key in list(properties.keys()):
+               if key in ["IPv4", "IPv4.Configuration",
+                               "IPv6", "IPv6.Configuration",
+                                       "Proxy", "Proxy.Configuration",
+                                       "Ethernet", "Provider",
+                                       "LastAddressConflict"]:
                        val = extract_values(properties[key])
-               elif key in ["Favorite", "AutoConnect",
-                               "SetupRequired", "PassphraseRequired"]:
+               elif key in ["Nameservers", "Nameservers.Configuration",
+                            "Domains", "Domains.Configuration",
+                            "Timeservers", "Timeservers.Configuration",
+                            "Security"]:
+                       val = extract_list(properties[key])
+               elif key in ["Favorite", "Immutable", "AutoConnect",
+                                       "LoginRequired", "PassphraseRequired"]:
                        if properties[key] == dbus.Boolean(1):
                                val = "true"
                        else:
@@ -37,7 +57,7 @@ for path in properties["Services"]:
                elif key in ["Strength"]:
                        val = int(properties[key])
                else:
-                       val = str(properties[key])
-               print "    %s = %s" % (key, val)
+                       val = properties[key]
+               print("    %s = %s" % (key, val))
 
-       print
+       print()