blob: be471cd6d11c2e3cb4f15c6c8284b8c971282bcc [file] [log] [blame]
#!/usr/bin/python
import dbus, flimflam
flim = flimflam.FlimFlam(dbus.SystemBus())
strength = {}
for device in flim.GetObjectList("Device"):
device_properties = device.GetProperties(utf8_strings = True)
try:
if device_properties["Type"] not in ["wifi", "wimax",
"bluetooth", "cellular"]:
continue
except Exception, e:
continue
for network in flim.GetObjectList("Network", device_properties):
network_properties = network.GetProperties(utf8_strings = True)
if "Name" not in network_properties:
continue
name = network_properties["Name"]
if "Strength" not in network_properties:
print "No strength for network %s" % name
continue
if strength.get(name, -1) < network_properties["Strength"]:
strength[name] = network_properties["Strength"]
# print "%-14s: strength %d network %d" % \
# (name,
# int(strength.get(name, -1)),
# int(network_properties.get("Strength", -1)))
for service in flim.GetObjectList("Service"):
properties = service.GetProperties(utf8_strings = True)
if "Name" not in properties:
continue
name = properties["Name"]
print "%-14s: network %d service %d" % \
(name, int(strength.get(name, -1)), int(properties.get("Strength", -1)))