diff --git a/libnm/generate-setting-docs.py b/libnm/generate-setting-docs.py index 7e890074af..483c553ecf 100755 --- a/libnm/generate-setting-docs.py +++ b/libnm/generate-setting-docs.py @@ -20,6 +20,8 @@ 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 import argparse, datetime, re, sys @@ -175,8 +177,8 @@ def settings_sort_key(x): # always sort NMSettingConnection first 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(): print("Usage: %s --gir FILE --output FILE" % sys.argv[0]) @@ -268,11 +270,11 @@ for settingxml in settings: raise Exception("%s.%s needs a documentation description" % (setting.props.name, prop)) if default_value is not None: - outfile.write(" \n" % - (prop, prop_upper, value_type, escape(default_value), escape(value_desc))) + outfile.write(" \n" % + (prop, prop_upper, value_type, xml_quoteattr(default_value), xml_quoteattr(value_desc))) else: - outfile.write(" \n" % - (prop, prop_upper, value_type, escape(value_desc))) + outfile.write(" \n" % + (prop, prop_upper, value_type, xml_quoteattr(value_desc))) outfile.write(" \n")