blob: e7b32b7cb5c92e3fb4b2fedfadcc7642fa38b28d [file] [log] [blame]
#!/usr/bin/python
import dbus
def print_sub_properties(key, value):
if key == "Profiles":
interface = "org.chromium.flimflam.Profile"
elif key == "Devices":
interface = "org.chromium.flimflam.Device"
elif key == "Services":
interface = "org.chromium.flimflam.Service"
else:
return
print "%s" % (key)
for path in value:
print " %s" % (path)
obj = dbus.Interface(bus.get_object("org.chromium.flimflam", path),
interface)
properties = obj.GetProperties(utf8_strings = True)
for key in properties.keys():
if key in ["Networks", "Services"]:
continue
if key in ["Powered", "Scanning", "Connected",
"Available", "Remember", "Default"]:
if properties[key] == dbus.Boolean(1):
val = "true"
else:
val = "false"
elif key in ["Strength", "Priority"]:
val = int(properties[key])
else:
val = str(properties[key])
print " %s = %s" % (key, val)
if "Services" in properties.keys():
remove_prefix = lambda x: x[x.rfind("/") + 1]
services = [" ".join(
map(remove_prefix, map(str, properties["Services"])))]
print " Services = [ %s]" % (services)
def print_properties(properties):
for key in properties.keys():
if key in ["Profiles", "Devices", "Services"]:
print_sub_properties(key, properties[key])
elif key in ["AvailableTechnologies", "EnabledTechnologies",
"ConnectedTechnologies"]:
print "%s" % (key)
print " [ %s]" % (" ".join(properties[key]))
elif key in ["OfflineMode"]:
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" % (key)
print " %s" % (properties[key])
bus = dbus.SystemBus()
manager = dbus.Interface(bus.get_object("org.chromium.flimflam", "/"),
"org.chromium.flimflam.Manager")
print_properties(manager.GetProperties(utf8_strings = True))