awkman / pywifi

A cross-platform module for manipulating WiFi devices.
MIT License
447 stars 154 forks source link

version doesnot supported #46

Open ghost opened 5 years ago

ghost commented 5 years ago

import wifi

def Search(): wifilist = []

cells = wifi.Cell.all('wlan0')

for cell in cells:
    wifilist.append(cell)

return wifilist

def FindFromSearchList(ssid): wifilist = Search()

for cell in wifilist:
    if cell.ssid == ssid:
        return cell

return False

def FindFromSavedList(ssid): cell = wifi.Scheme.find('wlan0', ssid)

if cell:
    return cell

return False

def Connect(ssid, password=None): cell = FindFromSearchList(ssid)

if cell:
    savedcell = FindFromSavedList(cell.ssid)

    if savedcell:
        savedcell.activate()
        return cell

    else:
        if cell.encrypted:
            if password:
                scheme = Add(cell, password)

                try:
                    scheme.activate()

                # Wrong Password
                except wifi.exceptions.ConnectionError:
                    Delete(ssid)
                    return False

                return cell
            else:
                return False
        else:
            scheme = Add(cell)

            try:
                scheme.activate()
            except wifi.exceptions.ConnectionError:
                Delete(ssid)
                return False

            return cell

return False

def Add(cell, password=None): if not cell: return False

scheme = wifi.Scheme.for_cell('wlan0', cell.ssid, cell, password)
scheme.save()
return scheme

def Delete(ssid): if not ssid: return False

cell = FindFromSavedList(ssid)

if cell:
    cell.delete()
    return True

return False

if name == 'main':

Search WiFi and return WiFi list

print Search()

print Connect('OpenWiFi')
print Connect('ClosedWiFi', 'password')

print Delete('DeleteWiFi')