81 lines
2.8 KiB
Python
Executable File
81 lines
2.8 KiB
Python
Executable File
#!/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":"RediServerIP"},
|
|
{"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*****************************")
|
|
|