From 50d9d05c10352eb28d963b2073746ad88fb25409 Mon Sep 17 00:00:00 2001 From: Hamish Willee Date: Mon, 13 Nov 2023 19:33:51 +1100 Subject: [PATCH] Escape param metadata to fix broken tags --- src/lib/parameters/px4params/markdownout.py | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/lib/parameters/px4params/markdownout.py b/src/lib/parameters/px4params/markdownout.py index eb1690e7cd..cd4f5e921c 100644 --- a/src/lib/parameters/px4params/markdownout.py +++ b/src/lib/parameters/px4params/markdownout.py @@ -1,5 +1,6 @@ from xml.sax.saxutils import escape import codecs +import html class MarkdownTablesOutput(): def __init__(self, groups): @@ -45,7 +46,9 @@ table { for param in group.GetParams(): code = param.GetName() name = param.GetFieldValue("short_desc") or '' + name = html.escape(name) long_desc = param.GetFieldValue("long_desc") or '' + long_desc = html.escape(long_desc) min_val = param.GetFieldValue("min") or '' max_val = param.GetFieldValue("max") or '' increment = param.GetFieldValue("increment") or '' @@ -68,16 +71,16 @@ table { min_val='?' if not max_val: max_val='?' - max_min_combined+='[%s, %s] ' % (min_val, max_val) + max_min_combined+=f"[{min_val}, {max_val}] " if increment: max_min_combined+='(%s)' % increment if long_desc != '': - long_desc = '

Comment: %s

' % long_desc + long_desc = f"

Comment: {long_desc}

" if name == code: name = "" - code='%s' % (code, code) + code=f"{code}" if reboot_required: reboot_required='

Reboot required: %s

\n' % reboot_required @@ -89,8 +92,8 @@ table { enum_output+='Values:\n' + enum_output+=f"\n
  • {item}: {html.escape(param.GetEnumValue(item))}
  • " + enum_output+='\n' bitmask_list=param.GetBitmaskList() #Gets bitmask values for parameter @@ -100,7 +103,8 @@ table { bitmask_output+='Bitmask:\n' if is_boolean and def_val=='1': @@ -108,7 +112,7 @@ table { if is_boolean and def_val=='0': def_val='Disabled (0)' - result += '\n %s (%s)\n %s %s %s %s %s\n %s\n %s\n %s\n\n' % (code, type, name, long_desc, enum_output, bitmask_output, reboot_required, max_min_combined, def_val, unit) + result += f"\n {code} ({type})\n {name} {long_desc} {enum_output} {bitmask_output} {reboot_required}\n {max_min_combined}\n {def_val}\n {unit}\n\n" #Close the table. result += '\n\n'