jsbc.py 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. #!/usr/bin/python3
  2. import time
  3. import traceback
  4. import json
  5. import __main__ as MAIN
  6. from lib.cprint import *
  7. def JSCB(x,sock=None):
  8. i = ""
  9. msg = ""
  10. msgs = []
  11. try:
  12. #print("JSCB",sock)
  13. for i in x:
  14. #print("i",[i])
  15. msgs = json.loads(i)
  16. print(" JSCB",msgs) #,sock)
  17. if type(msgs) is not list:
  18. continue
  19. for msg in msgs:
  20. print(" ",msg)
  21. # MAIN.FIXTURES.encoder
  22. if "event" not in msg:
  23. continue
  24. if "FIXTURES" == msg["event"]:
  25. FIX=0
  26. VAL=""
  27. ATTR=""
  28. if "FIX" in msg:
  29. FIX=msg["FIX"]
  30. if "VAL" in msg:
  31. VAL=msg["VAL"]
  32. if "ATTR" in msg:
  33. ATTR=msg["ATTR"]
  34. print(" Xevent",FIX,VAL,ATTR)
  35. #cb = Xevent(fix=FIX,elem=None,attr=ATTR,mode="ENCODER",data=[]) #data)
  36. #MAIN.FIXTURES.encoder(str(FIX),ATTR,xval="click",xfade=0,xdelay=0)#,blind=0)
  37. MAIN.FIXTURES.encoder(str(FIX),ATTR,xval=VAL,xfade=0,xdelay=0)#,blind=0)
  38. #print(dir(cb))
  39. #event = DEVENT()
  40. #event.num = enum
  41. #master.refresh_fix() # delayed
  42. #refresher_fix.reset() # = Refresher()
  43. #cb.cb(event)
  44. if "CLEAR" == msg["event"]:
  45. MAIN.FIXTURES.clear()
  46. if "EXEC" == msg["event"]:
  47. print(" EXEC EXEC")
  48. val = -1
  49. exec_nr = -1
  50. try:
  51. if "VAL" in msg:
  52. val = int(msg["VAL"])
  53. if "EXEC" in msg:
  54. exec_nr = int(msg["EXEC"])
  55. if val >= 0 and exec_nr > 0:
  56. print("PRESET_GOOO",exec_nr,val)
  57. s = time.time()
  58. master.preset_go(exec_nr-1,xfade=None,val=val)
  59. e = time.time()
  60. #print("time:",e-s,e)
  61. #print("TIME:",int((e-s)*1000),int(e*10)-1_703_800_000)
  62. #print("TIME:",int((e-s)*1000),int(e*10)/10)
  63. print("EXE TIME:","{:0.02f}".format(e-s),int(e*100)/100)
  64. print()
  65. except Exception as e:
  66. print("EXEC ERR:",e)
  67. except Exception as e:
  68. cprint("exception JSCB:",e)
  69. cprint("- i:",i)
  70. cprint("- msg:",msgs)
  71. cprint(traceback.format_exc(),color="red")
  72. if sock:
  73. msg = ["Notice: Exception on JSCB-SERVER: ",str(e)]
  74. msg = json.dumps(msg)
  75. msg = bytes(msg,"utf8")
  76. chat._send(sock,msg)
  77. #time.sleep(1/60)