moved to ujson

This commit is contained in:
DJ2LS 2021-08-23 18:14:00 +02:00 committed by GitHub
parent c6fb4700ed
commit ee188b882a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 35 additions and 13 deletions

View file

@ -13,11 +13,12 @@ import threading
import socketserver import socketserver
import pyaudio import pyaudio
import time import time
import json import ujson as json
import subprocess import subprocess
import os import os
import static import static
import psutil import psutil
import sys
#PORT = 3001 #PORT = 3001
#TNCPROCESS = 0 #TNCPROCESS = 0
#TNCSTARTED = False #TNCSTARTED = False
@ -77,11 +78,16 @@ class CMDTCPRequestHandler(socketserver.BaseRequestHandler):
# we need to do some error handling in case of socket timeout # we need to do some error handling in case of socket timeout
try: try:
received_json = json.loads(data) received_json = json.loads(data)
#print(received_json)
except: except ValueError as e:
received_json = '' print("++++++++++++ START OF JSON ERROR +++++++++++++++++++++++")
print(e)
print("-----------------------------------")
print(data)
print("++++++++++++ END OF JSON ERROR +++++++++++++++++++++++++")
received_json = {}
@ -147,9 +153,9 @@ class CMDTCPRequestHandler(socketserver.BaseRequestHandler):
name = p.get_device_info_by_host_api_device_index(0,i).get('name') name = p.get_device_info_by_host_api_device_index(0,i).get('name')
if maxInputChannels > 0: if maxInputChannels > 0:
data["INPUT_DEVICES"].append({"ID": i, "NAME" : name}) data["INPUT_DEVICES"].append({"ID": i, "NAME" : str(name)})
if maxOutputChannels > 0: if maxOutputChannels > 0:
data["OUTPUT_DEVICES"].append({"ID": i, "NAME" : name}) data["OUTPUT_DEVICES"].append({"ID": i, "NAME" : str(name)})
@ -160,11 +166,16 @@ class CMDTCPRequestHandler(socketserver.BaseRequestHandler):
#exception, if JSON cant be decoded #exception, if JSON cant be decoded
except Exception as e: #except Exception as e:
except ValueError as e:
print("############ START OF ERROR #####################") print("############ START OF ERROR #####################")
print('DAEMON PROGRAM ERROR: %s' %str(e)) print('DAEMON PROGRAM ERROR: %s' %str(e))
print("Wrong command") print("Wrong command")
print(data) print(data)
print(e)
exc_type, exc_obj, exc_tb = sys.exc_info()
fname = os.path.split(exc_tb.tb_frame.f_code.co_filename)[1]
print(exc_type, fname, exc_tb.tb_lineno)
print("############ END OF ERROR #######################") print("############ END OF ERROR #######################")
print("Client disconnected...") print("Client disconnected...")

View file

@ -24,7 +24,8 @@ Created on Fri Dec 25 21:25:14 2020
import socketserver import socketserver
import threading import threading
import logging import logging
import json import ujson as json
#import json
import asyncio import asyncio
import time import time
@ -69,13 +70,14 @@ class CMDTCPRequestHandler(socketserver.BaseRequestHandler):
received_json = json.loads(data) received_json = json.loads(data)
except json.decoder.JSONDecodeError as e: except ValueError as e:
print("++++++++++++ START OF JSON ERROR +++++++++++++++++++++++") print("++++++++++++ START OF JSON ERROR +++++++++++++++++++++++")
print(e) print(e)
print("-----------------------------------") print("-----------------------------------")
print(data) print(data)
print("++++++++++++ END OF JSON ERROR +++++++++++++++++++++++++") print("++++++++++++ END OF JSON ERROR +++++++++++++++++++++++++")
received_json = {} received_json = {}
try: try:
@ -175,6 +177,7 @@ class CMDTCPRequestHandler(socketserver.BaseRequestHandler):
if received_json["type"] == 'GET' and received_json["command"] == 'TNC_STATE': if received_json["type"] == 'GET' and received_json["command"] == 'TNC_STATE':
#print(static.SCATTER) #print(static.SCATTER)
output = { output = {
"COMMAND": "TNC_STATE", "COMMAND": "TNC_STATE",
"TIMESTAMP" : received_json["timestamp"], "TIMESTAMP" : received_json["timestamp"],
@ -198,7 +201,7 @@ class CMDTCPRequestHandler(socketserver.BaseRequestHandler):
"ARQ_TX_N_TOTAL_ARQ_FRAMES": str(int.from_bytes(bytes(static.ARQ_TX_N_TOTAL_ARQ_FRAMES), "big")), "ARQ_TX_N_TOTAL_ARQ_FRAMES": str(int.from_bytes(bytes(static.ARQ_TX_N_TOTAL_ARQ_FRAMES), "big")),
"ARQ_RX_FRAME_N_BURSTS": str(static.ARQ_RX_FRAME_N_BURSTS), "ARQ_RX_FRAME_N_BURSTS": str(static.ARQ_RX_FRAME_N_BURSTS),
"ARQ_RX_N_CURRENT_ARQ_FRAME": str(static.ARQ_RX_N_CURRENT_ARQ_FRAME), "ARQ_RX_N_CURRENT_ARQ_FRAME": str(static.ARQ_RX_N_CURRENT_ARQ_FRAME),
"ARQ_N_ARQ_FRAMES_PER_DATA_FRAME": str(static.ARQ_N_ARQ_FRAMES_PER_DATA_FRAME), "ARQ_N_ARQ_FRAMES_PER_DATA_FRAME": str(int.from_bytes(bytes(static.ARQ_N_ARQ_FRAMES_PER_DATA_FRAME), "big")),
"ARQ_BYTES_PER_MINUTE" : str(static.ARQ_BYTES_PER_MINUTE), "ARQ_BYTES_PER_MINUTE" : str(static.ARQ_BYTES_PER_MINUTE),
"ARQ_TRANSMISSION_PERCENT" : str(static.ARQ_TRANSMISSION_PERCENT), "ARQ_TRANSMISSION_PERCENT" : str(static.ARQ_TRANSMISSION_PERCENT),
"TOTAL_BYTES" : str(static.TOTAL_BYTES), "TOTAL_BYTES" : str(static.TOTAL_BYTES),
@ -211,9 +214,16 @@ class CMDTCPRequestHandler(socketserver.BaseRequestHandler):
output["STATIONS"].append({"DXCALLSIGN": str(static.HEARD_STATIONS[i][0], 'utf-8'),"DXGRID": str(static.HEARD_STATIONS[i][1], 'utf-8'), "TIMESTAMP": static.HEARD_STATIONS[i][2], "DATATYPE": static.HEARD_STATIONS[i][3], "SNR": static.HEARD_STATIONS[i][4]}) output["STATIONS"].append({"DXCALLSIGN": str(static.HEARD_STATIONS[i][0], 'utf-8'),"DXGRID": str(static.HEARD_STATIONS[i][1], 'utf-8'), "TIMESTAMP": static.HEARD_STATIONS[i][2], "DATATYPE": static.HEARD_STATIONS[i][3], "SNR": static.HEARD_STATIONS[i][4]})
jsondata = json.dumps(output)
self.request.sendall(bytes(jsondata, encoding))
try:
jsondata = json.dumps(output)
except ValueError as e:
print(e)
try:
self.request.sendall(bytes(jsondata, encoding))
except Exception as e:
print(e)
if received_json["type"] == 'GET' and received_json["command"] == 'RX_BUFFER': if received_json["type"] == 'GET' and received_json["command"] == 'RX_BUFFER':
@ -257,7 +267,8 @@ class CMDTCPRequestHandler(socketserver.BaseRequestHandler):
static.RX_BUFFER = [] static.RX_BUFFER = []
#exception, if JSON cant be decoded #exception, if JSON cant be decoded
except Exception as e: #except Exception as e:
except ValueError as e:
print("############ START OF ERROR #####################") print("############ START OF ERROR #####################")
print("SOCKET COMMAND ERROR: " + data) print("SOCKET COMMAND ERROR: " + data)
print(e) print(e)