#!/usr/bin/python3
import cgi
import cgitb; cgitb.enable()  # for troubleshooting
print( "Content-type: text/html")
print()
print( """
Licht WEB
   Licht WEB  
""")
#form = cgi.FieldStorage()
#message = form.getvalue("message", "(no message)")
print("
")
import os
ENV = os.environ
for env in ENV:
    val=ENV[env]
    #print(env)
    #print(" = ")
    #print(val)
    #print("
")
ARGS = {}
if "QUERY_STRING" in ENV:
    _args = ENV["QUERY_STRING"]
    if "&" in _args:
        args = _args.split("&")
    else:
        args = _args
    
    for arg in args:
        import urllib.parse
        if "=" in arg:
            k,v = arg.split("=",1)
            v = urllib.parse.unquote(v)
            ARGS[k]=v
            print("{} = {} 
".format(k,v))
js = """
DMX
VALUE
FADE
Highlight
CMD2:
"""
#if "CMD" not in ARGS:
#    pass
#elif "CMD2" not in ARGS:
#    pass
#else:
if 1:
    print(js)
    print("
")
    print("beispiel 
")
    print('&CMD=[{"VALUE": 55, "args": [], "FADE": 3, "DMX": "1"}]')
    print("
")
if "CMD" in ARGS:
    CMD = ARGS["CMD"]
    CMD = CMD.replace("'","")
    CMD = CMD.replace("<","")
    CMD = CMD.replace(">","")
    CMD = CMD.replace(";","")
    CMD = CMD.replace("|","")
    #python3 /opt/LibreLight/Xdesk/lib/zchat.py data '[{"VALUE": 255, "args": [], "FADE": 0, "DMX": "1"}]
    cmd = 'python3 /opt/LibreLight/Xdesk/lib/zchat.py data \'{}\''.format(CMD)
    print("$ ",cmd, "
")
    print("
")
    r=os.popen(cmd)
    for l in r:
        l=l.replace("<","<")
        l=l.replace(">",">")
        print(">",l,"
")
if "CMD2" in ARGS:
    import lib.zchat as zchat
    import json
    c = zchat.Client()
    cmd2 = ARGS["CMD2"]
    print("
")
    print("CMD2",cmd2)
    print("
")
    for j in cmd2.split(";"):
        if "," in j:
            fade= 0.3
            dmx,val = j.split(",")
            val = int(val)
            try:
                data =[{"VALUE": val, "args": [], "FADE": fade, "DMX": str(dmx)}]
                i = json.dumps(data)
                print("i",i)
                print("
")
                #i = input("cmd:")
                c.send(bytes(i,"utf8"))
            except Exception as e:
                print("e",e)
print( """
""")