CLI: Handle BaseAbsentValues in JSON

This commit is contained in:
Mike Auty
2025-04-01 23:38:05 +01:00
parent aad6a56336
commit d3d19fe776
+10 -2
View File
@@ -535,10 +535,18 @@ class PrettyTextRenderer(CLIRenderer):
class JsonRenderer(CLIRenderer):
_type_renderers = {
format_hints.HexBytes: lambda x: x.hex(" "),
format_hints.HexBytes: lambda x: (
x.hex(" ")
if not isinstance(x, interfaces.renderers.BaseAbsentValue)
else "N/A"
),
renderers.Disassembly: quoted_optional(display_disassembly),
format_hints.MultiTypeData: quoted_optional(multitypedata_as_text),
renderers.LayerData: lambda x: LayerDataRenderer().render_bytes(x)[0].hex(" "),
renderers.LayerData: lambda x: (
LayerDataRenderer().render_bytes(x)[0].hex(" ")
if not isinstance(x, interfaces.renderers.BaseAbsentValue)
else "N/A"
),
bytes: optional(lambda x: " ".join(f"{b:02x}" for b in x)),
datetime.datetime: lambda x: (
x.isoformat()