|  | #!/usr/bin/python | 
|  |  | 
|  | import dbus | 
|  |  | 
|  | def extract_values(values): | 
|  | val = "{" | 
|  | for key in values.keys(): | 
|  | val += " " + key + "=" | 
|  | if key in ["Servers", "Excludes"]: | 
|  | val += extract_list(values[key]) | 
|  | else: | 
|  | val += str(values[key]) | 
|  | val += " }" | 
|  | return val | 
|  |  | 
|  | def extract_list(list): | 
|  | val = "[" | 
|  | for i in list: | 
|  | val += " " + str(i) | 
|  | val += " ]" | 
|  | return val | 
|  |  | 
|  | bus = dbus.SystemBus() | 
|  |  | 
|  | manager = dbus.Interface(bus.get_object('net.connman', '/'), | 
|  | 'net.connman.Manager') | 
|  |  | 
|  | services = manager.GetServices() | 
|  |  | 
|  | for entry in services: | 
|  | path = entry[0] | 
|  | properties = entry[1] | 
|  |  | 
|  | print "[ %s ]" % (path) | 
|  |  | 
|  | for key in properties.keys(): | 
|  | if key in ["IPv4", "IPv4.Configuration", | 
|  | "IPv6", "IPv6.Configuration", | 
|  | "Proxy", "Proxy.Configuration", | 
|  | "Ethernet", "Provider"]: | 
|  | val = extract_values(properties[key]) | 
|  | elif key in ["Nameservers", "Nameservers.Configuration", | 
|  | "Domains", "Domains.Configuration", | 
|  | "Security"]: | 
|  | val = extract_list(properties[key]) | 
|  | elif key in ["Favorite", "Immutable", "AutoConnect", | 
|  | "PassphraseRequired"]: | 
|  | if properties[key] == dbus.Boolean(1): | 
|  | val = "true" | 
|  | else: | 
|  | val = "false" | 
|  | elif key in ["Strength"]: | 
|  | val = int(properties[key]) | 
|  | else: | 
|  | val = str(properties[key]) | 
|  | print "    %s = %s" % (key, val) | 
|  |  | 
|  | print |