#!/usr/bin/python3
# LAVA Controls RPI - Copyright 2019 Lucid Networks - Stephen Loeckle

import configparser
import argparse
import traceback
from sys import exit
from pathlib import Path

def main():

# Set some defaults
    platform = 'lava'
    licensekey = ''
    token = ''
    loglevel = '10'
    interval = '1'
    walllayout = ''
    wallmatrixip = ''
    proxy = ''

# Try to read old nexp-controls.conf for license key
    lavacontrolsconffile = '/etc/lavacontrols-rpi/lavacontrols-rpi.conf'
    islavacontrolsconffile = Path(lavacontrolsconffile)
    if islavacontrolsconffile.is_file():
        lavacontrolsconfig = configparser.ConfigParser()
        try:
            lavacontrolsconfig.read(lavacontrolsconffile)
        except:
            pass
        else:
            try:
                platform = lavacontrolsconfig.get('system', 'platform')
            except:
                pass
            if 'lava' in platform:
                try:
                    token = lavacontrolsconfig.get('system', 'token')
                except:
                    pass
            else:
                try:
                    licensekey = lavacontrolsconfig.get('system', 'licensekey')
                except:
                    pass
            try:
                loglevel = lavacontrolsconfig.get('system', 'loglevel')
            except:
                pass
            else:
                if int(loglevel) == 1:
                    loglevel = '10'
            try:
                interval = lavacontrolsconfig.get('system', 'interval')
            except:
                pass
            try:
                proxy = lavacontrolsconfig.get('system', 'proxy')
            except:
                pass
            try:
                serialport = lavacontrolsconfig.get('serial', 'port')
            except:
                pass


    newconfig = configparser.ConfigParser()
    newconfig.add_section('system')
    newconfig.set('system','platform',platform)
    if 'lava' in platform:
        newconfig.set('system','token',token)
    else:
        newconfig.set('system','licensekey',licensekey)
    newconfig.set('system','loglevel',loglevel)
    newconfig.set('system','interval',interval)
    if proxy:
        newconfig.set('system','proxy',proxy)
    newconfig.add_section('serial')
    newconfig.set('serial','port',serialport)
    with open(lavacontrolsconffile,'w') as config_file:
        newconfig.write(config_file)

if __name__ == '__main__':
   main()
