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 pyaudio
import time
import json
import ujson as json
import subprocess
import os
import static
import psutil
import sys
#PORT = 3001
#TNCPROCESS = 0
#TNCSTARTED = False
@ -77,11 +78,16 @@ class CMDTCPRequestHandler(socketserver.BaseRequestHandler):
# we need to do some error handling in case of socket timeout
try:
received_json = json.loads(data)
#print(received_json)
except:
received_json = ''
except ValueError as e:
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')
if maxInputChannels > 0:
data["INPUT_DEVICES"].append({"ID": i, "NAME" : name})
data["INPUT_DEVICES"].append({"ID": i, "NAME" : str(name)})
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
except Exception as e:
#except Exception as e:
except ValueError as e:
print("############ START OF ERROR #####################")
print('DAEMON PROGRAM ERROR: %s' %str(e))
print("Wrong command")
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("Client disconnected...")

View file

@ -24,7 +24,8 @@ Created on Fri Dec 25 21:25:14 2020
import socketserver
import threading
import logging
import json
import ujson as json
#import json
import asyncio
import time
@ -69,13 +70,14 @@ class CMDTCPRequestHandler(socketserver.BaseRequestHandler):
received_json = json.loads(data)
except json.decoder.JSONDecodeError as e:
except ValueError as e:
print("++++++++++++ START OF JSON ERROR +++++++++++++++++++++++")
print(e)
print("-----------------------------------")
print(data)
print("++++++++++++ END OF JSON ERROR +++++++++++++++++++++++++")
received_json = {}
try:
@ -175,6 +177,7 @@ class CMDTCPRequestHandler(socketserver.BaseRequestHandler):
if received_json["type"] == 'GET' and received_json["command"] == 'TNC_STATE':
#print(static.SCATTER)
output = {
"COMMAND": "TNC_STATE",
"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_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_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_TRANSMISSION_PERCENT" : str(static.ARQ_TRANSMISSION_PERCENT),
"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]})
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':
@ -257,7 +267,8 @@ class CMDTCPRequestHandler(socketserver.BaseRequestHandler):
static.RX_BUFFER = []
#exception, if JSON cant be decoded
except Exception as e:
#except Exception as e:
except ValueError as e:
print("############ START OF ERROR #####################")
print("SOCKET COMMAND ERROR: " + data)
print(e)