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("org.moblin.connman", "/"),
- "org.moblin.connman.Manager")
+manager = dbus.Interface(bus.get_object("net.connman", "/"),
+ "net.connman.Manager")
properties = manager.GetProperties()
-def print_list(key, value):
- text = ""
+def print_properties(key, value):
+ if key == "Profiles":
+ interface = "net.connman.Profile"
+ elif key == "Services":
+ interface = "net.connman.Service"
+ elif key == "Technologies":
+ interface = "net.connman.Technology"
+ else:
+ return
+
+ print "%s" % (key)
for path in value:
- text = text + str(path) + " "
- print "%s = %s" % (key, text)
+ print " %s" % (path)
+ obj = dbus.Interface(bus.get_object("net.connman", path),
+ interface)
+
+ properties = obj.GetProperties()
+
+ for key in properties.keys():
+ if key in ["Services", "Technologies"]:
+ continue
+
+ elif key in ["Powered", "Scanning", "Connected",
+ "Available", "Remember", "Default",
+ "Favorite", "Immutable", "AutoConnect",
+ "LoginRequired", "SetupRequired",
+ "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"]:
+ val = extract_list(properties[key])
+
+ elif key in ["Strength", "Priority"]:
+ val = int(properties[key])
+ else:
+ val = str(properties[key])
+
+ print " %s = %s" % (key, val)
+
+ if "Services" in properties.keys():
+ list = ""
+ for path in properties["Services"]:
+ val = str(path)
+ list = list + val[val.rfind("/") + 1:] + " "
+ print " Services = [ %s]" % (list)
+
for key in properties.keys():
- if (key in ["Profiles", "Devices", "Connections"]):
- print_list(key, properties[key])
+ if key in ["Profiles", "Services", "Technologies"]:
+ print_properties(key, properties[key])
+ elif key in ["AvailableTechnologies", "EnabledTechnologies",
+ "ConnectedTechnologies",
+ "AvailableDebugs", "EnabledDebugs"]:
+ print "%s" % (key)
+ list = ""
+ for val in properties[key]:
+ list = list + val + " "
+ print " [ %s]" % (list)
+ elif key in ["OfflineMode", "Tethering"]:
+ print "%s" % (key)
+ if properties[key] == dbus.Boolean(1):
+ print " true"
+ else:
+ print " false"
+ elif key in ["DefaultTechnology"]:
+ print "%s" % (key)
+ if properties[key] == "":
+ print " <none>"
+ else:
+ print " %s" % (properties[key])
else:
- print "%s = %s" % (key, properties[key])
+ print "%s" % (key)
+ print " %s" % (properties[key])