blob: e7b32b7cb5c92e3fb4b2fedfadcc7642fa38b28d [file] [log] [blame]
Christopher Wiley2f48d952013-02-22 09:51:47 -08001#!/usr/bin/python
2
3import dbus
4
5def print_sub_properties(key, value):
6 if key == "Profiles":
7 interface = "org.chromium.flimflam.Profile"
8 elif key == "Devices":
9 interface = "org.chromium.flimflam.Device"
10 elif key == "Services":
11 interface = "org.chromium.flimflam.Service"
12 else:
13 return
14
15 print "%s" % (key)
16 for path in value:
17 print " %s" % (path)
18 obj = dbus.Interface(bus.get_object("org.chromium.flimflam", path),
19 interface)
20
21 properties = obj.GetProperties(utf8_strings = True)
22
23 for key in properties.keys():
24 if key in ["Networks", "Services"]:
25 continue
26
27 if key in ["Powered", "Scanning", "Connected",
28 "Available", "Remember", "Default"]:
29 if properties[key] == dbus.Boolean(1):
30 val = "true"
31 else:
32 val = "false"
33 elif key in ["Strength", "Priority"]:
34 val = int(properties[key])
35 else:
36 val = str(properties[key])
37
38 print " %s = %s" % (key, val)
39
40 if "Services" in properties.keys():
41 remove_prefix = lambda x: x[x.rfind("/") + 1]
42 services = [" ".join(
43 map(remove_prefix, map(str, properties["Services"])))]
44 print " Services = [ %s]" % (services)
45
46def print_properties(properties):
47 for key in properties.keys():
48 if key in ["Profiles", "Devices", "Services"]:
49 print_sub_properties(key, properties[key])
50 elif key in ["AvailableTechnologies", "EnabledTechnologies",
51 "ConnectedTechnologies"]:
52 print "%s" % (key)
53 print " [ %s]" % (" ".join(properties[key]))
54 elif key in ["OfflineMode"]:
55 print "%s" % (key)
56 if properties[key] == dbus.Boolean(1):
57 print " true"
58 else:
59 print " false"
60 elif key in ["DefaultTechnology"]:
61 print "%s" % (key)
62 if properties[key] == "":
63 print " <none>"
64 else:
65 print " %s" % (properties[key])
66 else:
67 print "%s" % (key)
68 print " %s" % (properties[key])
69
70bus = dbus.SystemBus()
71
72manager = dbus.Interface(bus.get_object("org.chromium.flimflam", "/"),
73 "org.chromium.flimflam.Manager")
74
75print_properties(manager.GetProperties(utf8_strings = True))