[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* .*swp*
*__pycache__
www/config.js

View File

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

View File

@ -7,7 +7,6 @@ v0.1.0
A console friendly interface to change important parameters A console friendly interface to change important parameters
LICENCE : CC LICENCE : CC
''' '''
@ -15,15 +14,36 @@ import configparser
from libs3 import gstt from libs3 import gstt
import ast import ast
import numpy as np 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 = configparser.ConfigParser()
config.read(gstt.ConfigName) config.read(gstt.ConfigName)
qList = [ qList = [
{"q":"The server IP address ","c":"General","k":"ljayserverip"}, {"q":"The server IP address ","c":"General","k":"ljayserverip"},
{"q":"The IP address for webui","c":"General","k":"wwwip"}, {"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":"How many lasers to use ","c":"General","k":"lasernumber"},
{"q":"Laser 0 IP address ","c":"laser0","k":"ip"}, {"q":"Laser 0 IP address ","c":"laser0","k":"ip"},
{"q":"Laser 1 IP address ","c":"laser1","k":"ip"}, {"q":"Laser 1 IP address ","c":"laser1","k":"ip"},
@ -54,7 +74,7 @@ while stop == False :
new_value = input("Please enter the new value:") new_value = input("Please enter the new value:")
config.set(choice["c"],choice["k"],new_value) config.set(choice["c"],choice["k"],new_value)
config.write(open(gstt.ConfigName,'w')) config.write(open(gstt.ConfigName,'w'))
print(choice["c"],choice["k"]) if choice["k"] in ["wwwip","wstype","wsport"] :
if choice["k"] == "wwwip": updateJSConfig(config)
updateUI.www(new_value) 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 -*- # -*- coding: utf-8 -*-
# -*- mode: Python -*- # -*- 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 os, sys
import fileinput
from shutil import copyfile
ljpath = r'%s' % os.getcwd().replace('\\','/') ljpath = r'%s' % os.getcwd().replace('\\','/')
python2 = (2, 6) <= sys.version_info < (3, 0) def www(config):
global ljpath
def Updatepage(file_name): wwwip = config.get('General','wwwip')
wstype = config.get('General','wstype')
print("updating", file_name) wsport = config.get('General','wsport')
f=open(file_name,"r+") # copy template
a=f.readlines() src = ljpath + "/templates/config.js"
#print a dst = ljpath + "/www/config.js"
copyfile(src, dst)
for line in a: # Interpolate variables
with fileinput.FileInput(dst, inplace=True) as file:
if python2 == True: for line in file:
line = line.replace("%wstype%", wstype)
# python2 line = line.replace("%wsport%", wsport)
if "var LJ = " in line > -1: line = line.replace("%wwwip%", wwwip)
p=a.index(line) print(line, end='')
#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")

View File

@ -4,7 +4,7 @@
// LJ websocket address. IP will be updated at LJ startup according to LJ.conf wwwIP // 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 --> <!-- Web audio buttons defaults -->
<script type="application/javascript" src="webcomponents-lite.js"></script> <script type="application/javascript" src="webcomponents-lite.js"></script>
<script type="application/javascript" src="config.js"></script>
<script> <script>
WebAudioControlsOptions={ WebAudioControlsOptions={
useMidi:1, useMidi:1,
@ -658,7 +659,7 @@
<!-- LJ style WS : A nettoyer ! --> <!-- LJ style WS : A nettoyer ! -->
<script type="text/javascript"> <script type="text/javascript">
var LJ = 'ws://192.168.2.43:9001/' var LJ = websocket_uri
var _WS = { var _WS = {
uri: LJ, uri: LJ,

View File

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

View File

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

View File

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

View File

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

View File

@ -4,6 +4,7 @@
<title>PDM Modelviewer</title> <title>PDM Modelviewer</title>
<meta charset="utf-8"> <meta charset="utf-8">
<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0"> <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> <style>
@import url(https://fonts.googleapis.com/css?family=Lato:300italic,700italic,300,700); @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="180x180" href="../touch-icon-iphone-retina.png">
<link rel="apple-touch-icon" sizes="167x167" href="../touch-icon-ipad-retina.png"> <link rel="apple-touch-icon" sizes="167x167" href="../touch-icon-ipad-retina.png">
<script type="application/javascript" src="../config.js"></script>
<style> <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="180x180" href="../touch-icon-iphone-retina.png">
<link rel="apple-touch-icon" sizes="167x167" href="../touch-icon-ipad-retina.png"> <link rel="apple-touch-icon" sizes="167x167" href="../touch-icon-ipad-retina.png">
<script type="application/javascript" src="../config.js"></script>
<style> <style>