diff options
| author | Thomas Haller <thaller@redhat.com> | 2020-06-26 10:18:49 +0200 |
|---|---|---|
| committer | Thomas Haller <thaller@redhat.com> | 2020-06-26 10:19:11 +0200 |
| commit | 320c0df07241f354bb74cd2dd67aa2310d7ed38c (patch) | |
| tree | 89401173c19d4f2ca64014d3131b5ca7389350ec | |
| parent | 62747bb07653ab362c33abeae04213de7bde177d (diff) | |
| download | NetworkManager-320c0df07241f354bb74cd2dd67aa2310d7ed38c.tar.gz | |
docs: fix escaping XML in "tools/generate-docs-nm-settings-docs-gir.py"
The gtk-doc text that the tool receives is not XML, it's a plain text.
When setting the plain text as XML attribute, we need to properly escape
it. The previous XML escape code was naive, and didn't cover for a
plain ampersand.
| -rwxr-xr-x | tools/generate-docs-nm-settings-docs-gir.py | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/tools/generate-docs-nm-settings-docs-gir.py b/tools/generate-docs-nm-settings-docs-gir.py index 0eb0da9785..5607a79646 100755 --- a/tools/generate-docs-nm-settings-docs-gir.py +++ b/tools/generate-docs-nm-settings-docs-gir.py @@ -8,6 +8,7 @@ from __future__ import print_function import os import gi +import xml.sax.saxutils as saxutils gi.require_version("GIRepository", "2.0") from gi.repository import GIRepository @@ -179,8 +180,8 @@ def settings_sort_key(x): return (x_prefix != "setting_connection", x_prefix) -def escape(val): - return str(val).replace('"', """) +def xml_quoteattr(val): + return saxutils.quoteattr(str(val)) def usage(): @@ -275,11 +276,11 @@ for settingxml in settings: default_value_as_xml = "" if default_value is not None: - default_value_as_xml = ' default="%s"' % (escape(default_value)) + default_value_as_xml = ' default=%s' % (xml_quoteattr(default_value)) outfile.write( - ' <property name="%s" name_upper="%s" type="%s"%s description="%s" />\n' - % (prop, prop_upper, value_type, default_value_as_xml, escape(value_desc)) + ' <property name="%s" name_upper="%s" type="%s"%s description=%s />\n' + % (prop, prop_upper, value_type, default_value_as_xml, xml_quoteattr(value_desc)) ) outfile.write(" </setting>\n") |
