wpas-dbus-new.py (302408) | wpas-dbus-new.py (346981) |
---|---|
1#!/usr/bin/python 2 3import dbus 4import sys, os 5import time 6import gobject 7from dbus.mainloop.glib import DBusGMainLoop 8 --- 17 unchanged lines hidden (view full) --- 26 27def list_interfaces(wpas_obj): 28 ifaces = wpas_obj.Get(WPAS_DBUS_INTERFACE, 'Interfaces', 29 dbus_interface=dbus.PROPERTIES_IFACE) 30 for path in ifaces: 31 if_obj = bus.get_object(WPAS_DBUS_SERVICE, path) 32 ifname = if_obj.Get(WPAS_DBUS_INTERFACES_INTERFACE, 'Ifname', 33 dbus_interface=dbus.PROPERTIES_IFACE) | 1#!/usr/bin/python 2 3import dbus 4import sys, os 5import time 6import gobject 7from dbus.mainloop.glib import DBusGMainLoop 8 --- 17 unchanged lines hidden (view full) --- 26 27def list_interfaces(wpas_obj): 28 ifaces = wpas_obj.Get(WPAS_DBUS_INTERFACE, 'Interfaces', 29 dbus_interface=dbus.PROPERTIES_IFACE) 30 for path in ifaces: 31 if_obj = bus.get_object(WPAS_DBUS_SERVICE, path) 32 ifname = if_obj.Get(WPAS_DBUS_INTERFACES_INTERFACE, 'Ifname', 33 dbus_interface=dbus.PROPERTIES_IFACE) |
34 print ifname | 34 print(ifname) |
35 36def propertiesChanged(properties): 37 if properties.has_key("State"): | 35 36def propertiesChanged(properties): 37 if properties.has_key("State"): |
38 print "PropertiesChanged: State: %s" % (properties["State"]) | 38 print("PropertiesChanged: State: %s" % (properties["State"])) |
39 40def showBss(bss): 41 net_obj = bus.get_object(WPAS_DBUS_SERVICE, bss) 42 net = dbus.Interface(net_obj, WPAS_DBUS_BSS_INTERFACE) 43 44 # Convert the byte-array for SSID and BSSID to printable strings 45 val = net_obj.Get(WPAS_DBUS_BSS_INTERFACE, 'BSSID', 46 dbus_interface=dbus.PROPERTIES_IFACE) --- 21 unchanged lines hidden (view full) --- 68 dbus_interface=dbus.PROPERTIES_IFACE) 69 val = net_obj.Get(WPAS_DBUS_BSS_INTERFACE, 'Rates', 70 dbus_interface=dbus.PROPERTIES_IFACE) 71 if len(val) > 0: 72 maxrate = val[0] / 1000000 73 else: 74 maxrate = 0 75 | 39 40def showBss(bss): 41 net_obj = bus.get_object(WPAS_DBUS_SERVICE, bss) 42 net = dbus.Interface(net_obj, WPAS_DBUS_BSS_INTERFACE) 43 44 # Convert the byte-array for SSID and BSSID to printable strings 45 val = net_obj.Get(WPAS_DBUS_BSS_INTERFACE, 'BSSID', 46 dbus_interface=dbus.PROPERTIES_IFACE) --- 21 unchanged lines hidden (view full) --- 68 dbus_interface=dbus.PROPERTIES_IFACE) 69 val = net_obj.Get(WPAS_DBUS_BSS_INTERFACE, 'Rates', 70 dbus_interface=dbus.PROPERTIES_IFACE) 71 if len(val) > 0: 72 maxrate = val[0] / 1000000 73 else: 74 maxrate = 0 75 |
76 print " %s :: ssid='%s' wpa=%s wpa2=%s signal=%d rate=%d freq=%d" % (bssid, ssid, wpa, wpa2, signal, maxrate, freq) | 76 print(" %s :: ssid='%s' wpa=%s wpa2=%s signal=%d rate=%d freq=%d" % (bssid, ssid, wpa, wpa2, signal, maxrate, freq)) |
77 78def scanDone(success): | 77 78def scanDone(success): |
79 print "Scan done: success=%s" % success | 79 print("Scan done: success=%s" % success) |
80 81 res = if_obj.Get(WPAS_DBUS_INTERFACES_INTERFACE, 'BSSs', 82 dbus_interface=dbus.PROPERTIES_IFACE) 83 | 80 81 res = if_obj.Get(WPAS_DBUS_INTERFACES_INTERFACE, 'BSSs', 82 dbus_interface=dbus.PROPERTIES_IFACE) 83 |
84 print "Scanned wireless networks:" | 84 print("Scanned wireless networks:") |
85 for opath in res: | 85 for opath in res: |
86 print opath | 86 print(opath) |
87 showBss(opath) 88 89def bssAdded(bss, properties): | 87 showBss(opath) 88 89def bssAdded(bss, properties): |
90 print "BSS added: %s" % (bss) | 90 print("BSS added: %s" % (bss)) |
91 showBss(bss) 92 93def bssRemoved(bss): | 91 showBss(bss) 92 93def bssRemoved(bss): |
94 print "BSS removed: %s" % (bss) | 94 print("BSS removed: %s" % (bss)) |
95 96def main(): 97 dbus.mainloop.glib.DBusGMainLoop(set_as_default=True) 98 global bus 99 bus = dbus.SystemBus() 100 wpas_obj = bus.get_object(WPAS_DBUS_SERVICE, WPAS_DBUS_OPATH) 101 102 if len(sys.argv) != 2: --- 15 unchanged lines hidden (view full) --- 118 signal_name="PropertiesChanged") 119 120 ifname = sys.argv[1] 121 122 # See if wpa_supplicant already knows about this interface 123 path = None 124 try: 125 path = wpas.GetInterface(ifname) | 95 96def main(): 97 dbus.mainloop.glib.DBusGMainLoop(set_as_default=True) 98 global bus 99 bus = dbus.SystemBus() 100 wpas_obj = bus.get_object(WPAS_DBUS_SERVICE, WPAS_DBUS_OPATH) 101 102 if len(sys.argv) != 2: --- 15 unchanged lines hidden (view full) --- 118 signal_name="PropertiesChanged") 119 120 ifname = sys.argv[1] 121 122 # See if wpa_supplicant already knows about this interface 123 path = None 124 try: 125 path = wpas.GetInterface(ifname) |
126 except dbus.DBusException, exc: | 126 except dbus.DBusException as exc: |
127 if not str(exc).startswith("fi.w1.wpa_supplicant1.InterfaceUnknown:"): 128 raise exc 129 try: 130 path = wpas.CreateInterface({'Ifname': ifname, 'Driver': 'test'}) 131 time.sleep(1) 132 | 127 if not str(exc).startswith("fi.w1.wpa_supplicant1.InterfaceUnknown:"): 128 raise exc 129 try: 130 path = wpas.CreateInterface({'Ifname': ifname, 'Driver': 'test'}) 131 time.sleep(1) 132 |
133 except dbus.DBusException, exc: | 133 except dbus.DBusException as exc: |
134 if not str(exc).startswith("fi.w1.wpa_supplicant1.InterfaceExists:"): 135 raise exc 136 137 global if_obj 138 if_obj = bus.get_object(WPAS_DBUS_SERVICE, path) 139 global iface 140 iface = dbus.Interface(if_obj, WPAS_DBUS_INTERFACES_INTERFACE) 141 iface.Scan({'Type': 'active'}) 142 143 gobject.MainLoop().run() 144 145 wpas.RemoveInterface(dbus.ObjectPath(path)) 146 147if __name__ == "__main__": 148 main() 149 | 134 if not str(exc).startswith("fi.w1.wpa_supplicant1.InterfaceExists:"): 135 raise exc 136 137 global if_obj 138 if_obj = bus.get_object(WPAS_DBUS_SERVICE, path) 139 global iface 140 iface = dbus.Interface(if_obj, WPAS_DBUS_INTERFACES_INTERFACE) 141 iface.Scan({'Type': 'active'}) 142 143 gobject.MainLoop().run() 144 145 wpas.RemoveInterface(dbus.ObjectPath(path)) 146 147if __name__ == "__main__": 148 main() 149 |