mirror of
https://github.com/meshtastic/python.git
synced 2026-01-07 23:37:53 -05:00
Pretty indent --info JSON output (see below for details)
Changes to make --info much more human readable (while still keeping machine readabilty for anyone foolish enough to be parsing the existing output as text) * change message_to_json to optionally not strip the multiline JSON * use multiline=True for the two places we are printing to the console * make the node list JSON indented
This commit is contained in:
@@ -133,7 +133,7 @@ class MeshInterface:
|
||||
# use id as dictionary key for correct json format in list of nodes
|
||||
nodeid = n2["user"]["id"]
|
||||
nodes[nodeid] = n2
|
||||
infos = owner + myinfo + metadata + mesh + json.dumps(nodes)
|
||||
infos = owner + myinfo + metadata + mesh + json.dumps(nodes, indent=2)
|
||||
print(infos)
|
||||
return infos
|
||||
|
||||
|
||||
@@ -64,11 +64,11 @@ class Node:
|
||||
"""Show human readable description of our node"""
|
||||
prefs = ""
|
||||
if self.localConfig:
|
||||
prefs = message_to_json(self.localConfig)
|
||||
prefs = message_to_json(self.localConfig, multiline=True)
|
||||
print(f"Preferences: {prefs}\n")
|
||||
prefs = ""
|
||||
if self.moduleConfig:
|
||||
prefs = message_to_json(self.moduleConfig)
|
||||
prefs = message_to_json(self.moduleConfig, multiline=True)
|
||||
print(f"Module preferences: {prefs}\n")
|
||||
self.showChannels()
|
||||
|
||||
|
||||
@@ -627,6 +627,8 @@ def check_if_newer_version():
|
||||
|
||||
return pypi_version
|
||||
|
||||
def message_to_json(message):
|
||||
"Return protobuf message as JSON. Always print all fields, even when not present in data."
|
||||
return stripnl(MessageToJson(message, always_print_fields_with_no_presence=True))
|
||||
|
||||
def message_to_json(message, multiline=False):
|
||||
"""Return protobuf message as JSON. Always print all fields, even when not present in data."""
|
||||
json = MessageToJson(message, always_print_fields_with_no_presence=True)
|
||||
return stripnl(json) if not multiline else json
|
||||
|
||||
Reference in New Issue
Block a user