summaryrefslogtreecommitdiff
path: root/tools/generate-docs-nm-settings-docs-merge.py
diff options
context:
space:
mode:
Diffstat (limited to 'tools/generate-docs-nm-settings-docs-merge.py')
-rwxr-xr-xtools/generate-docs-nm-settings-docs-merge.py44
1 files changed, 32 insertions, 12 deletions
diff --git a/tools/generate-docs-nm-settings-docs-merge.py b/tools/generate-docs-nm-settings-docs-merge.py
index 0131a02488..1a6a7c24a5 100755
--- a/tools/generate-docs-nm-settings-docs-merge.py
+++ b/tools/generate-docs-nm-settings-docs-merge.py
@@ -113,12 +113,39 @@ def node_set_attr(dst_node, name, nodes):
def find_attr(properties_attrs, name):
for p_attr in properties_attrs:
- if p_attr is not None:
- p_attr = p_attr.find(name)
+ if p_attr is None:
+ continue
+ p_attr = p_attr.find(name)
if p_attr is not None:
return p_attr
+def find_attr_text(properties_attrs, name):
+ name_docbook = name + "-docbook"
+ for p_attr in properties_attrs:
+ if p_attr is None:
+ continue
+
+ x = p_attr.get(name, None)
+ if x is None:
+ x = p_attr.find(name)
+ if x is not None:
+ print(f">>>> [{x.text}]")
+ x = x.text
+
+ if x is not None:
+ p_normal = ET.Element("description")
+ p_normal.text = x
+ else:
+ p_normal = None
+
+ p_docbook = p_attr.find(name_docbook)
+
+ if p_normal is not None or p_docbook is not None:
+ return p_normal, p_docbook
+ return None, None
+
+
###############################################################################
gl_only_from_first = False
@@ -181,10 +208,8 @@ for setting_name in iter_keys_of_dicts(settings_roots, key_fcn_setting_name):
dbg("> > > > property_name: %s" % (property_name))
properties_attrs = list([p.get(property_name) for p in properties])
- description_docbook = find_attr(properties_attrs, "description-docbook")
- description = find_attr(properties_attrs, "description")
- deprecated_docbook = find_attr(properties_attrs, "deprecated-docbook")
- deprecated = find_attr(properties_attrs, "deprecated")
+ description, description_docbook = find_attr_text(properties_attrs, "description")
+ deprecated, deprecated_docbook = find_attr_text(properties_attrs, "deprecated")
if gl_only_from_first and properties_attrs[0] is None:
dbg("> > > > skip (only-from-first")
@@ -203,16 +228,11 @@ for setting_name in iter_keys_of_dicts(settings_roots, key_fcn_setting_name):
node_set_attr(property_node, "type", properties_attrs)
node_set_attr(property_node, "default", properties_attrs)
- desc_value = node_get_attr(properties_attrs, "description")
node_set_attr(property_node, "alias", properties_attrs)
if description_docbook is not None:
property_node.insert(0, description_docbook)
- if desc_value:
- description = ET.Element("description")
- description.text = desc_value
- property_node.append(description)
- elif description is not None:
+ if description is not None:
property_node.append(description)
if deprecated_docbook is not None: