mirror of
https://git.kernel.org/pub/scm/network/wireless/iwd.git
synced 2024-12-20 19:12:33 +01:00
test: Show Adapter properties in list-devices
This commit is contained in:
parent
d362ce83b9
commit
55f8942d8f
@ -2,6 +2,7 @@
|
||||
|
||||
import sys
|
||||
import dbus
|
||||
import collections
|
||||
|
||||
bus = dbus.SystemBus()
|
||||
|
||||
@ -9,24 +10,49 @@ manager = dbus.Interface(bus.get_object("net.connman.iwd", "/"),
|
||||
"org.freedesktop.DBus.ObjectManager")
|
||||
objects = manager.GetManagedObjects()
|
||||
|
||||
Obj = collections.namedtuple('Obj', ['interfaces', 'children'])
|
||||
tree = Obj({}, {})
|
||||
for path in objects:
|
||||
if 'net.connman.iwd.Device' not in objects[path]:
|
||||
node = tree
|
||||
elems = path.split('/')
|
||||
for subpath in [ '/'.join(elems[:l + 1]) for l in range(1, len(elems)) ]:
|
||||
if subpath not in node.children:
|
||||
node.children[subpath] = Obj({}, {})
|
||||
node = node.children[subpath]
|
||||
node.interfaces.update(objects[path])
|
||||
|
||||
for path, phy in tree.children.items():
|
||||
if 'net.connman.iwd.Adapter' not in phy.interfaces:
|
||||
continue
|
||||
|
||||
properties = objects[path]['net.connman.iwd.Device']
|
||||
device = dbus.Interface(bus.get_object("net.connman.iwd", path),
|
||||
'net.connman.iwd.Device')
|
||||
properties = phy.interfaces['net.connman.iwd.Adapter']
|
||||
|
||||
print("[ %s ]" % path)
|
||||
|
||||
for key in properties:
|
||||
val = properties[key]
|
||||
print(" %s = %s" % (key, val))
|
||||
|
||||
print(" Devices:")
|
||||
|
||||
for path2, device in phy.children.items():
|
||||
if 'net.connman.iwd.Device' not in device.interfaces:
|
||||
continue
|
||||
|
||||
properties = device.interfaces['net.connman.iwd.Device']
|
||||
device = dbus.Interface(bus.get_object("net.connman.iwd", path2),
|
||||
'net.connman.iwd.Device')
|
||||
|
||||
print(" [ %s ]" % path2)
|
||||
|
||||
for key in properties:
|
||||
val = properties[key]
|
||||
print(" %s = %s" % (key, val))
|
||||
|
||||
print(" Sorted networks:")
|
||||
|
||||
for path2, ssid, rssi, security in device.GetOrderedNetworks():
|
||||
print(" [ %s ]" % path2)
|
||||
for path3, ssid, rssi, security in device.GetOrderedNetworks():
|
||||
print(" [ %s ]" % path3)
|
||||
|
||||
print(" SSID = %s" % (ssid,))
|
||||
print(" Signal strength = %i dBm" % (rssi / 100,))
|
||||
|
Loading…
Reference in New Issue
Block a user