import dbus
+def extract_values(values):
+ val = "{"
+ for key in list(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("org.moblin.connman", "/"),
- "org.moblin.connman.Manager")
+manager = dbus.Interface(bus.get_object("net.connman", "/"),
+ "net.connman.Manager")
properties = manager.GetProperties()
-def print_properties(key, value):
- if (key == "Profiles"):
- interface = "org.moblin.connman.Profile"
- elif (key == "Devices"):
- interface = "org.moblin.connman.Device"
- elif (key == "Connections"):
- interface = "org.moblin.connman.Connection"
+for key in list(properties.keys()):
+ if key in ["OfflineMode", "SessionMode"]:
+ print("%s" % (key))
+ if properties[key] == dbus.Boolean(1):
+ print(" true")
+ else:
+ print(" false")
else:
- return
+ print("%s" % (key))
+ print(" %s" % (properties[key]))
- print "%s" % (key)
- for path in value:
- print " %s" % (path)
- obj = dbus.Interface(bus.get_object("org.moblin.connman", path),
- interface)
+print ("Services")
+services = manager.GetServices()
- properties = obj.GetProperties()
+for (path, properties) in services:
+ print(" %s" % (path))
+ for key in list(properties.keys()):
+ if key in ["Available", "Remember", "Default",
+ "Favorite", "Immutable", "AutoConnect",
+ "LoginRequired",
+ "PassphraseRequired"]:
+ if properties[key] == dbus.Boolean(1):
+ val = "true"
+ else:
+ val = "false"
- for key in properties.keys():
- if (key == "Networks"):
- continue
+ elif key in ["IPv4", "IPv4.Configuration",
+ "IPv6", "IPv6.Configuration",
+ "Proxy", "Proxy.Configuration",
+ "Ethernet", "Provider"]:
+ val = extract_values(properties[key])
- if (key == "Strength"):
- val = int(properties[key])
- else:
- val = str(properties[key])
+ elif key in ["Nameservers", "Nameservers.Configuration",
+ "Domains", "Domains.Configuration",
+ "Security"]:
+ val = extract_list(properties[key])
- print " %s = %s" % (key, val)
+ elif key in ["Strength", "Priority"]:
+ val = int(properties[key])
- if "Networks" in properties.keys():
- list = ""
- for path in properties["Networks"]:
- val = str(path)
- list = list + val[val.rfind("/") + 1:] + " "
- print " Networks = [ %s]" % (list)
+ else:
+ val = str(properties[key])
-for key in properties.keys():
- if key in ["Profiles", "Devices", "Connections"]:
- print_properties(key, properties[key])
- else:
- print "%s" % (key)
- print " %s" % (properties[key])
+ print(" %s = %s" % (key, val))
+
+print ("Technologies")
+technologies = manager.GetTechnologies()
+
+for (path, properties) in technologies:
+ print(" %s" % (path))
+ for key in list(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))