#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import os
import getpass


def createNewConnection(name, SSID, key):
    command = "nmcli dev wifi connect '" + SSID + "' password '" + key + "'"
    os.system(command)


def connect(name, SSID):
    command = "nmcli con up " + SSID
    os.system(command)


def displayAvailableNetworks():
    command = "nmcli dev wifi list"
    os.system(command)


def main():
    import time
    time.sleep(int(20))
    try:
        displayAvailableNetworks()
        option = input("New connection (y/n)? ")
        if option.lower() == "n" or option == "":
            name = input("Name: ")
            connect(name, name)
            print("If you aren't connected to this network, try connecting with correct credentials")
        elif option == "y":
            name = input("Name: ")
            key = getpass.getpass("Password: ")
            createNewConnection(name, name, key)
            connect(name, name)
            print("If you aren't connected to this network, try connecting with correct credentials")
    except KeyboardInterrupt as e:
        print(e)
        print("\nExiting...")


if __name__ == "__main__":
    main()
