From d31fabf8cff5dae02e3fc759a4203bd374dddc99 Mon Sep 17 00:00:00 2001 From: schneefux Date: Sun, 30 Mar 2014 16:03:44 -0400 Subject: Initial commit --- boot/wifi.py | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100755 boot/wifi.py (limited to 'boot/wifi.py') diff --git a/boot/wifi.py b/boot/wifi.py new file mode 100755 index 0000000..7e2fa43 --- /dev/null +++ b/boot/wifi.py @@ -0,0 +1,60 @@ +import yaml +import os, subprocess + +class Wifi: + + access_points = [] + + def __init__(self): + + subprocess.call("iwlist wlan0 scan > temp.txt", shell = True) + output = open("temp.txt") + lines = output.readlines() + + for index, line in enumerate(lines): + + if "Address" in line: + + address = line[29:-1] + name = lines[index + 1].split("\"")[1] + self.access_points.append(name) + + self.access_points = list(set(self.access_points)) + + os.system("rm temp.txt") + + def add_wifi(self, SSID, KEY=""): + networks = yaml.safe_load(open("networks.yml", "r")) + + # add new network to front of list + network = {"SSID": SSID, "KEY": KEY} + networks.insert(0, network) + + with open('networks.yml', 'w') as outputFile: + output = yaml.dump(networks) + outputFile.write(output) + + def set_default_wifi(self, SSID, KEY=""): + + text = open("connect.txt", "r").read() + text = text.replace("{{ SSID }}", SSID) + text = text.replace("{{ KEY }}", KEY) + + outputFile = open("/etc/network/interfaces", "w") + outputFile.write(text) + outputFile.flush() + outputFile.close() + + subprocess.call(["sudo", "/etc/init.d/networking", "restart"]) + + def setup_adhoc(self): + + text = open("broadcast.txt", "r").read() + outputFile = open("/etc/network/interfaces","w") + outputFile.write(text) + outputFile.flush() + outputFile.close() + + subprocess.call(["sudo", "/etc/init.d/networking", "restart"]) + subprocess.call(['sudo', '/usr/sbin/dhcpd', '-q', '-cf', '/etc/dhcp/dhcpd.conf', '-pf', '/var/run/dhcpd.pid']) + subprocess.call(["sudo", "/etc/init.d/networking", "restart"]) \ No newline at end of file -- cgit v1.3.1