123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- #!/usr/bin/python3
- import os
- import json
- h = os.environ["HOME"]
- def cprint(txt,*args):
- print(txt)
- def _load_remote_ip(cfg_file):
- f = open(cfg_file)
- lines = f.readlines()
- f.close()
- ip = ""
- for line in lines:
- # take the last IP in config file
- if "DMX-REMOTE-IP" in line:
- try:
- jd=json.loads(line)
- jip = jd["DMX-REMOTE-IP"]
- if ":" in jip and jip.count(".") :
- ip = jip
- except:pass
- return ip
- def _write_default_remote_ip(cfg_file):
- try:
- f = open(cfg_file ,"a")
- f.seek(99999999999)
- txt ='\n'
- txt+=json.dumps({"DMX-REMOTE-IP":"10.10.10.13:0"})
- f.write(txt)
- f.flush()
- f.close()
- except Exception as e:
- print("EXCEPT",e)
- def _create_default_config():
- txt=''
- txt+='{"POS_TOP":10}'
- txt+="\n"
- txt+='{"POS_LEFT":10}'
- txt+="\n"
- for i in range(10):
- txt+='{"DMX-FADER-'+str(i+1)+'":500}'
- txt+="\n"
- txt+='{"START_MODE":"PROx"}'
- txt+="\n"
- txt+='{"START_MODE":"EASYx"}'
- txt+="\n"
- txt+=json.dumps({"DMX-REMOTE-IP":"10.10.10.13:0"})
- txt+="\n"
- f = open(h +"/LibreLight/config.json","w")
- f.write(txt)
- f.close()
- def _load_config():
- _config = []
- lines = [{}]
- try:
- f = open(h +"/LibreLight/config.json")
- lines = f.readlines()
- except FileNotFoundError as e: #Exception as e:
- _create_default_config()
- cprint("Exception:",e)
- try:
- cprint("config read")
- for line in lines:
- line=line.strip()
- print(" config:",line)
- row = json.loads(line)
- _config.append(row)
- except Exception as e:
- cprint("Exception:",e)
- return _config
- def load_remote_ip():
- cfg_file = "/home/user/LibreLight/config.json"
-
- ip = _load_remote_ip(cfg_file)
- if not ip:
- _write_default_remote_ip(cfg_file)
- ip = _load_remote_ip(cfg_file)
- if not ip:
- ip = "0.0.0.0:err"
- return ip
- def check_pro_easy():
- try:
- f = open("/home/user/LibreLight/config.json")
- lines = f.readlines()
- f.close()
- for line in lines:
- if '{"START_MODE":"PRO"}' in line:
- print(" PRO")
- return "PRO"
- elif '{"START_MODE":"EASY"}' in line:
- print(" EASY")
- return "EASY"
- print(line)
- except Exception as e:
- print("Exception",e)
- return ""
|