#!/usr/bin/env python
import os
import sys
import subprocess
import time

if len(sys.argv) == 1:
    print ("usage: %s dhcp" % sys.argv[0])
    print ("       %s <ip> <netmask> <gateway> <dns1> <dns2> <network>" % sys.argv[0])
    sys.exit(2)

if os.geteuid() != 0:
    exit("You need to have root privileges to run this script.\nPlease try again, this time using 'sudo'. Exiting.")
    sys.exit(3)

address = netmask = gateway = dns1 = dns2 = None
try:
    address = sys.argv[1]
    netmask = sys.argv[2]
    gateway = sys.argv[3]
    dns1 = sys.argv[4]
    dns2 = sys.argv[5]
    network = sys.argv[6]
except:
    pass


if not address or address == "dhcp":
    data = "allow-hotplug %s\n" % (netmask)
    data = data + "iface %s inet dhcp\n" % (netmask)
    with open('/etc/network/interfaces.d/' + netmask, 'w+') as f:
        f.write(data)
else:
    data = "allow-hotplug %s\n" % (network)
    data = data + "iface %s inet static\n" % (network)
    data = data + "  address %s\n" % (address)
    data = data + "  netmask %s\n" % (netmask)
    if gateway:
        data = data + "  gateway %s\n" % (gateway)
    if dns1 or dns2:
        data = data + "  dns-nameservers %s %s\n" % (dns1 or "", dns2 or "")
    with open('/etc/network/interfaces.d/' + network, 'w+') as f:
        f.write(data)


time.sleep(2)

#the print command is foundamental to have something in the stdout of this script
print ("network interfce configured")
