#!/usr/bin/python3
# -*- coding: utf-8 -*-
# -*- mode: Python -*-
'''
LJ
v0.1.0

A console friendly interface to change important parameters


LICENCE : CC
'''

import configparser
from libs3 import gstt
import ast
import numpy as np
import updateUI


config = configparser.ConfigParser()
config.read(gstt.ConfigName)

qList = [
        {"q":"The server IP address   ","c":"General","k":"ljayserverip"},
        {"q":"The IP address for webui","c":"General","k":"wwwip"},
        {"q":"How many lasers to use  ","c":"General","k":"lasernumber"},
        {"q":"Laser 0 IP address      ","c":"laser0","k":"ip"},
        {"q":"Laser 1 IP address      ","c":"laser1","k":"ip"},
        {"q":"Laser 2 IP address      ","c":"laser2","k":"ip"},
        {"q":"Laser 3 IP address      ","c":"laser3","k":"ip"}
        ]
stop = False
while stop == False :
    print( "------------------------------------------------------")
    print( "Which part of the configuration do you wish to change?") 
    print( "------------------------------------------------------")
    print( "Enter a numeric key or 'x' to stop")
    for i in range(len(qList)):
      item = qList[i]
      question = item["q"]
      category = item["c"]
      key = item["k"]
      val = config.get(category,key )
      print( "-")
      print( "Choice #"+str(i), "\t"+question+ "\tCurrent value:",val )
    print( "......................................................")
    name = input("Enter your choice: ") 
    if name == "x":
      stop = True
      break
    print( "......................................................")
    choice = qList[int(name)]
    new_value = input("Please enter the new value:")
    config.set(choice["c"],choice["k"],new_value)
    config.write(open(gstt.ConfigName,'w'))
    print(choice["c"],choice["k"])
    if choice["k"] == "wwwip":
      updateUI.www(new_value)

