forked from protonphoton/LJ
[fix] www: configuration, update, and files should use config.js
This commit is contained in:
parent
5e26faa798
commit
840120bbe6
2
.gitignore
vendored
2
.gitignore
vendored
@ -1 +1,3 @@
|
|||||||
.*swp*
|
.*swp*
|
||||||
|
*__pycache__
|
||||||
|
www/config.js
|
||||||
|
@ -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
|
||||||
|
32
configure.py
32
configure.py
@ -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
1
templates/config.js
Normal file
@ -0,0 +1 @@
|
|||||||
|
websocket_uri = "%wstype%://%wwwip%:%wsport%/"
|
80
updateUI.py
80
updateUI.py
@ -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")
|
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
|
||||||
//
|
//
|
||||||
|
@ -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,
|
||||||
|
@ -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 = "";
|
||||||
|
@ -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 = {
|
||||||
|
@ -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 = "";
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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>
|
||||||
|
|
||||||
|
|
||||||
|
@ -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>
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user