def wireless_scan():
"""Scan for current networks and return a sorted list of dictionary
objects."""
ssid_scan = subprocess.check_output(
['/System/Library/PrivateFrameworks/'
'Apple80211.framework/Versions/A/'
'Resources/airport', '-s', '--xml']
)
ssid_scan = plistlib.readPlistFromString(ssid_scan)
values = []
for i, val in enumerate(ssid_scan):
wifi_stats = {'RSSI': val.get('RSSI'),
'BSSID': val.get('BSSID'),
'SSID_STR': val.get('SSID_STR')
}
values.append(wifi_stats)
# Sort our values by RSSI to increase accuracy of location
return sorted(values, key=lambda k: k['RSSI'], reverse=True)
评论列表
文章目录