[fix] www: configuration, update, and files should use config.js

This commit is contained in:
Alban 2020-10-04 21:29:46 +00:00
parent 5e26faa798
commit 840120bbe6
14 changed files with 72 additions and 75 deletions

2
.gitignore vendored
View File

@ -1 +1,3 @@
.*swp*
*__pycache__
www/config.js

View File

@ -6,6 +6,8 @@ wwwip = 192.168.2.43
nozoscip = 127.0.0.1
bhoroscip = 127.0.0.1
autostart = artnet
wstype = ws
wsport = 9001
[laser0]
color = -1

View File

@ -7,7 +7,6 @@ v0.1.0
A console friendly interface to change important parameters
LICENCE : CC
'''
@ -15,20 +14,41 @@ import configparser
from libs3 import gstt
import ast
import numpy as np
import updateUI
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":"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"}
{"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 :
@ -54,7 +74,7 @@ while stop == False :
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)
if choice["k"] in ["wwwip","wstype","wsport"] :
updateJSConfig(config)
print("*****************************\nUpdated the www configuration\n*****************************")

1
templates/config.js Normal file
View File

@ -0,0 +1 @@
websocket_uri = "%wstype%://%wwwip%:%wsport%/"

View File

@ -1,67 +1,31 @@
#!/usr/bin/python2.7
#!/usr/bin/python3
# -*- coding: utf-8 -*-
# -*- mode: Python -*-
'''
LJ UI IP updater v0.8.1
LJ UI IP updater v0.9.0
MUST be called from configure.py
'''
#wwwIP = "192.168.2.78"
#wwwIP = "aurora.teamlaser.fr"
wwwIP = "192.168.1.48"
import os, sys
import fileinput
from shutil import copyfile
ljpath = r'%s' % os.getcwd().replace('\\','/')
python2 = (2, 6) <= sys.version_info < (3, 0)
def Updatepage(file_name):
print("updating", file_name)
f=open(file_name,"r+")
a=f.readlines()
#print a
for line in a:
if python2 == True:
# python2
if "var LJ = " in line > -1:
p=a.index(line)
#so now we have the position of the line which to be modified
a[p]=" var LJ = 'ws://"+wwwIP+":9001/'\n"
#print(p, line, a[p])
else:
# python3
IPline = ("var LJ = " in line)
if IPline == True:
p=a.index(line)
#so now we have the position of the line which to be modified
a[p]=" var LJ = 'ws://"+wwwIP+":9001/'\n"
#print(p, line, a[p])
f.seek(0)
f.truncate() #ersing all data from the file
f.close()
#so now we have an empty file and we will write the modified content now in the file
o=open(file_name,"w")
for i in a:
o.write(i)
o.close()
#now the modification is done in the file
def www(wwwip):
global wwwIP
wwwIP = wwwip
print("Updating www files to use", wwwIP)
Updatepage(ljpath+"/www/LJ.js")
Updatepage(ljpath+"/www/trckr/trckrcam1.html")
Updatepage(ljpath+"/www/trckr/trckr.html")
Updatepage(ljpath+"/www/simu.html")
Updatepage(ljpath+"/www/align.html")
Updatepage(ljpath+"/www/auralls.html")
Updatepage(ljpath+"/www/index.html")
def www(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='')

View File

@ -4,7 +4,7 @@
// LJ websocket address. IP will be updated at LJ startup according to LJ.conf wwwIP
var LJ = 'ws://192.168.2.43:9001/'
var LJ = websocket_uri
//

View File

@ -19,6 +19,7 @@
<!-- Web audio buttons defaults -->
<script type="application/javascript" src="webcomponents-lite.js"></script>
<script type="application/javascript" src="config.js"></script>
<script>
WebAudioControlsOptions={
useMidi:1,
@ -658,7 +659,7 @@
<!-- LJ style WS : A nettoyer ! -->
<script type="text/javascript">
var LJ = 'ws://192.168.2.43:9001/'
var LJ = websocket_uri
var _WS = {
uri: LJ,

View File

@ -19,6 +19,7 @@
<!-- Web audio buttons defaults -->
<script type="application/javascript" src="webcomponents-lite.js"></script>
<script type="application/javascript" src="config.js"></script>
<script>
WebAudioControlsOptions={
useMidi:1,
@ -417,7 +418,7 @@
<script type="text/javascript">
var LJ = 'ws://192.168.2.43:9001/'
var LJ = websocket_uri
var pl = "";

View File

@ -17,6 +17,7 @@
<!-- Web audio buttons defaults -->
<script type="application/javascript" src="webcomponents-lite.js"></script>
<script type="application/javascript" src="config.js"></script>
<script>
WebAudioControlsOptions={
useMidi:1,
@ -231,7 +232,7 @@
<!-- LJ style WS : A nettoyer ! -->
<script type="text/javascript">
var LJ = 'ws://192.168.2.43:9001/'
var LJ = websocket_uri
var _WS = {

View File

@ -19,6 +19,7 @@
<!-- Web audio buttons defaults -->
<script type="application/javascript" src="webcomponents-lite.js"></script>
<script type="application/javascript" src="config.js"></script>
<script>
WebAudioControlsOptions={
useMidi:1,
@ -197,7 +198,7 @@
<script type="text/javascript">
var LJ = 'ws://192.168.2.43:9001/'
var LJ = websocket_uri
var pl = "";

View File

@ -4,6 +4,7 @@
<title>PDM Modelviewer</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
<script type="application/javascript" src="../config.js"></script>
<style>
@import url(https://fonts.googleapis.com/css?family=Lato:300italic,700italic,300,700);

View File

@ -4,6 +4,7 @@
<title>PDM Modelviewer</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
<script type="application/javascript" src="../config.js"></script>
<style>
@import url(https://fonts.googleapis.com/css?family=Lato:300italic,700italic,300,700);

View File

@ -12,6 +12,7 @@
<link rel="apple-touch-icon" sizes="180x180" href="../touch-icon-iphone-retina.png">
<link rel="apple-touch-icon" sizes="167x167" href="../touch-icon-ipad-retina.png">
<script type="application/javascript" src="../config.js"></script>
<style>

View File

@ -12,6 +12,7 @@
<link rel="apple-touch-icon" sizes="180x180" href="../touch-icon-iphone-retina.png">
<link rel="apple-touch-icon" sizes="167x167" href="../touch-icon-ipad-retina.png">
<script type="application/javascript" src="../config.js"></script>
<style>