awkman/pywifi

version doesnot supported

Opened this issue · 0 comments

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')