#!/usr/bin/python | |
import dbus | |
def extract_values(values): | |
val = "{" | |
for key in values.keys(): | |
val += " " + key + "=" | |
if key in ["PrefixLength"]: | |
val += "%s" % (int(values[key])) | |
else: | |
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") | |
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 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", | |
"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: | |
val = "false" | |
elif key in ["Strength"]: | |
val = int(properties[key]) | |
else: | |
val = properties[key] | |
print " %s = %s" % (key, val) | |