mirror of
				https://git.kernel.org/pub/scm/network/wireless/iwd.git
				synced 2025-11-04 08:57:29 +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,13 +10,22 @@ 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)
 | 
			
		||||
 | 
			
		||||
@ -23,11 +33,27 @@ for path in objects:
 | 
			
		||||
        val = properties[key]
 | 
			
		||||
        print("    %s = %s" % (key, val))
 | 
			
		||||
 | 
			
		||||
    print("    Sorted networks:")
 | 
			
		||||
    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')
 | 
			
		||||
 | 
			
		||||
    for path2, ssid, rssi, security in device.GetOrderedNetworks():
 | 
			
		||||
        print("    [ %s ]" % path2)
 | 
			
		||||
 | 
			
		||||
        print("        SSID = %s" % (ssid,))
 | 
			
		||||
        print("        Signal strength = %i dBm" % (rssi / 100,))
 | 
			
		||||
        print("        Security = %s" % (security,))
 | 
			
		||||
        for key in properties:
 | 
			
		||||
            val = properties[key]
 | 
			
		||||
            print("        %s = %s" % (key, val))
 | 
			
		||||
 | 
			
		||||
        print("        Sorted networks:")
 | 
			
		||||
 | 
			
		||||
        for path3, ssid, rssi, security in device.GetOrderedNetworks():
 | 
			
		||||
            print("        [ %s ]" % path3)
 | 
			
		||||
 | 
			
		||||
            print("            SSID = %s" % (ssid,))
 | 
			
		||||
            print("            Signal strength = %i dBm" % (rssi / 100,))
 | 
			
		||||
            print("            Security = %s" % (security,))
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user