#!/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 os, sys import fileinput from shutil import copyfile ljpath = r'%s' % os.getcwd().replace('\\','/') def updateJSConfig(config): global ljpath wwwip = config.get('General','wwwip') wstype = config.get('General','wstype') wsport = config.get('General','wsport') # copy template src = ljpath + "/templates/config.js" dst = ljpath + "/www/config.js" copyfile(src, dst) # Interpolate variables with fileinput.FileInput(dst, inplace=True) as file: for line in file: line = line.replace("%wstype%", wstype) line = line.replace("%wsport%", wsport) line = line.replace("%wwwip%", wwwip) print(line, end='') 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":"Websocket type (ws or wss?) ","c":"General","k":"wstype"}, {"q":"Websocket port ","c":"General","k":"wsport"}, {"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')) if choice["k"] in ["wwwip","wstype","wsport"] : updateJSConfig(config) print("*****************************\nUpdated the www configuration\n*****************************")