mirror of
https://github.com/gryf/wicd.git
synced 2025-12-20 12:58:07 +01:00
experimental:
- Add 3rd party python libraries used by ioctl backend to tree and to setup.py - Port several bug fixes from the trunk (removing reliance on shell for running external commands, unicode fixes, gui crash fixes, authentication validation improvements, several others) - Fix some crashes in ioctl backend. - Change daemon/GUI launch scripts to use the -O flag.
This commit is contained in:
100
depends/python-wpactrl/example.py
Normal file
100
depends/python-wpactrl/example.py
Normal file
@@ -0,0 +1,100 @@
|
||||
#!/usr/bin/python
|
||||
|
||||
'''Example usage of the wpactrl extension.'''
|
||||
|
||||
__author__ = 'Kel Modderman'
|
||||
__copyright__ = '(c) 2008 Kel Modderman <kel@otaku42.de>'
|
||||
__license__ = 'GPLv2'
|
||||
|
||||
import os
|
||||
import sys
|
||||
import time
|
||||
import wpactrl
|
||||
|
||||
run = '/var/run/wpa_supplicant'
|
||||
|
||||
if __name__ == "__main__":
|
||||
print '>>> wpactrl version %d.%d.%d ...' % wpactrl.version()
|
||||
|
||||
sockets = []
|
||||
if os.path.isdir(run):
|
||||
try:
|
||||
sockets = [os.path.join(run, i) for i in os.listdir(run)]
|
||||
except OSError, error:
|
||||
print 'Error:', error
|
||||
sys.exit(1)
|
||||
|
||||
if len(sockets) < 1:
|
||||
print 'No wpa_ctrl sockets found in %s, aborting.' % run
|
||||
sys.exit(1)
|
||||
|
||||
for s in sockets:
|
||||
try:
|
||||
print '>>> # Open a ctrl_iface connection'
|
||||
print '>>> wpa = wpactrl.WPACtrl("%s")' % s
|
||||
wpa = wpactrl.WPACtrl(s)
|
||||
|
||||
print '>>> # Location of ctrl_iface socket'
|
||||
print '>>> wpa.ctrl_iface_path'
|
||||
print wpa.ctrl_iface_path
|
||||
|
||||
print '>>> # Request a few commands'
|
||||
print '>>> wpa.request("PING")'
|
||||
print wpa.request('PING')
|
||||
|
||||
print '>>> wpa.request("STATUS")'
|
||||
print wpa.request('STATUS')
|
||||
|
||||
print '>>> wpa.request("LIST_NETWORKS")'
|
||||
print wpa.request('LIST_NETWORKS')
|
||||
|
||||
time.sleep(1)
|
||||
|
||||
print '>>> # Open a new ctrl_iface connection for receiving event'
|
||||
print '>>> # messages'
|
||||
print '>>> wpa_event = wpactrl.WPACtrl("%s")' % s
|
||||
wpa_event = wpactrl.WPACtrl(s)
|
||||
|
||||
print '>>> wpa_event.attached'
|
||||
print wpa_event.attached
|
||||
print '>>> wpa_event.attach()'
|
||||
wpa_event.attach()
|
||||
print '>>> wpa_event.attached'
|
||||
print wpa_event.attached
|
||||
|
||||
print '>>> # Request commands via original ctrl_iface connection'
|
||||
print '>>> wpa.request("SCAN")'
|
||||
print wpa.request('SCAN')
|
||||
|
||||
time.sleep(1)
|
||||
|
||||
print '>>> wpa.request("STATUS")'
|
||||
print wpa.request('STATUS')
|
||||
|
||||
print '>>> # Waiting 10s for pending events ...'
|
||||
time.sleep(10)
|
||||
|
||||
print '>>> # Check for pending events and collect them'
|
||||
print '>>> while wpa_event.pending():'
|
||||
print '>>> ....wpa_event.recv()'
|
||||
while wpa_event.pending():
|
||||
print wpa_event.recv()
|
||||
|
||||
print '>>> # Request scan results (wpa_supplicant only)'
|
||||
print '>>> results = wpa.scanresults()'
|
||||
print '>>> for no, bss in enumerate(results):'
|
||||
print '>>> ....print \'bss(%d):\' % no'
|
||||
print '>>> ....print bss'
|
||||
results = wpa.scanresults()
|
||||
for no, bss in enumerate(results):
|
||||
print 'bss(%d):' % no
|
||||
print bss
|
||||
|
||||
print '>>> # Detach the event monitor'
|
||||
print '>>> wpa_event.detach()'
|
||||
wpa_event.detach()
|
||||
|
||||
print '>>> # Finished!'
|
||||
except wpactrl.error, error:
|
||||
print 'Error:', error
|
||||
pass
|
||||
Reference in New Issue
Block a user