| #!/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") | |
| properties = manager.GetProperties() | |
| for key in properties.keys(): | |
| if key in ["OfflineMode", "SessionMode"]: | |
| print "%s" % (key) | |
| if properties[key] == dbus.Boolean(1): | |
| print " true" | |
| else: | |
| print " false" | |
| else: | |
| print "%s" % (key) | |
| print " %s" % (properties[key]) | |
| print ("Services") | |
| services = manager.GetServices() | |
| for (path, properties) in services: | |
| print " %s" % (path) | |
| for key in properties.keys(): | |
| if key in ["Available", "Remember", "Default", | |
| "Favorite", "Immutable", "AutoConnect", | |
| "LoginRequired", | |
| "PassphraseRequired"]: | |
| if properties[key] == dbus.Boolean(1): | |
| val = "true" | |
| else: | |
| val = "false" | |
| elif 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 ["Strength", "Priority"]: | |
| val = int(properties[key]) | |
| else: | |
| val = str(properties[key]) | |
| print " %s = %s" % (key, val) | |
| print ("Technologies") | |
| technologies = manager.GetTechnologies() | |
| for (path, properties) in technologies: | |
| print " %s" % (path) | |
| for key in properties.keys(): | |
| if key in ["Connected", "Powered", "Tethering"]: | |
| if properties[key] == dbus.Boolean(1): | |
| val = "true" | |
| else: | |
| val = "false" | |
| else: | |
| val = properties[key] | |
| print " %s = %s" % (key, val) |