From 30f8a3bc647093aaa61562ab0a86a61c6a1b10ae Mon Sep 17 00:00:00 2001 From: david Date: Sun, 13 Apr 2025 17:36:48 -0700 Subject: [PATCH] fix crash on bytes --- app.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/app.py b/app.py index 0081e98..d3bbc82 100644 --- a/app.py +++ b/app.py @@ -12,6 +12,16 @@ MY_NODE_ID = "!934f4430" iface = meshtastic.serial_interface.SerialInterface() # iface.nodes.clear() +def safe_dict(obj): + if isinstance(obj, dict): + return {k: safe_dict(v) for k, v in obj.items()} + elif isinstance(obj, list): + return [safe_dict(i) for i in obj] + elif isinstance(obj, bytes): + return obj.decode(errors="replace") + else: + return obj + @app.route("/") def index(): return render_template("map.html") @@ -29,7 +39,7 @@ def nodes(): return jsonify({ # "myNodeNum": MY_NODE_NUM, "myNodeId": MY_NODE_ID, - "nodes": dict(nodes) + "nodes": safe_dict(nodes) }) if __name__ == "__main__":