summaryrefslogtreecommitdiff
path: root/doc/tools/doc_merge.py
diff options
context:
space:
mode:
Diffstat (limited to 'doc/tools/doc_merge.py')
-rwxr-xr-xdoc/tools/doc_merge.py215
1 files changed, 0 insertions, 215 deletions
diff --git a/doc/tools/doc_merge.py b/doc/tools/doc_merge.py
deleted file mode 100755
index 496d5dcb74..0000000000
--- a/doc/tools/doc_merge.py
+++ /dev/null
@@ -1,215 +0,0 @@
-#!/usr/bin/env python
-# -*- coding: utf-8 -*-
-
-import sys
-import xml.etree.ElementTree as ET
-
-
-tree = ET.parse(sys.argv[1])
-old_doc = tree.getroot()
-
-tree = ET.parse(sys.argv[2])
-new_doc = tree.getroot()
-
-f = file(sys.argv[3], "wb")
-tab = 0
-
-old_classes = {}
-
-
-def write_string(_f, text, newline=True):
- for t in range(tab):
- _f.write("\t")
- _f.write(text)
- if (newline):
- _f.write("\n")
-
-
-def escape(ret):
- ret = ret.replace("&", "&")
- ret = ret.replace("<", "&gt;")
- ret = ret.replace(">", "&lt;")
- ret = ret.replace("'", "&apos;")
- ret = ret.replace("\"", "&quot;")
- return ret
-
-
-def inc_tab():
- global tab
- tab += 1
-
-
-def dec_tab():
- global tab
- tab -= 1
-
-write_string(f, '<?xml version="1.0" encoding="UTF-8" ?>')
-write_string(f, '<doc version="' + new_doc.attrib["version"] + '">')
-
-
-def get_tag(node, name):
- tag = ""
- if (name in node.attrib):
- tag = ' ' + name + '="' + escape(node.attrib[name]) + '" '
- return tag
-
-
-def find_method_descr(old_class, name):
-
- methods = old_class.find("methods")
- if(methods != None and len(list(methods)) > 0):
- for m in list(methods):
- if (m.attrib["name"] == name):
- description = m.find("description")
- if (description != None and description.text.strip() != ""):
- return description.text
-
- return None
-
-
-def find_signal_descr(old_class, name):
-
- signals = old_class.find("signals")
- if(signals != None and len(list(signals)) > 0):
- for m in list(signals):
- if (m.attrib["name"] == name):
- description = m.find("description")
- if (description != None and description.text.strip() != ""):
- return description.text
-
- return None
-
-
-def find_constant_descr(old_class, name):
-
- if (old_class is None):
- return None
- constants = old_class.find("constants")
- if(constants != None and len(list(constants)) > 0):
- for m in list(constants):
- if (m.attrib["name"] == name):
- if (m.text.strip() != ""):
- return m.text
- return None
-
-
-def write_class(c):
- class_name = c.attrib["name"]
- print("Parsing Class: " + class_name)
- if (class_name in old_classes):
- old_class = old_classes[class_name]
- else:
- old_class = None
-
- category = get_tag(c, "category")
- inherits = get_tag(c, "inherits")
- write_string(f, '<class name="' + class_name + '" ' + category + inherits + '>')
- inc_tab()
-
- write_string(f, "<brief_description>")
-
- if (old_class != None):
- old_brief_descr = old_class.find("brief_description")
- if (old_brief_descr != None):
- write_string(f, escape(old_brief_descr.text.strip()))
-
- write_string(f, "</brief_description>")
-
- write_string(f, "<description>")
- if (old_class != None):
- old_descr = old_class.find("description")
- if (old_descr != None):
- write_string(f, escape(old_descr.text.strip()))
-
- write_string(f, "</description>")
-
- methods = c.find("methods")
- if(methods != None and len(list(methods)) > 0):
-
- write_string(f, "<methods>")
- inc_tab()
-
- for m in list(methods):
- qualifiers = get_tag(m, "qualifiers")
-
- write_string(f, '<method name="' + escape(m.attrib["name"]) + '" ' + qualifiers + '>')
- inc_tab()
-
- for a in list(m):
- if (a.tag == "return"):
- typ = get_tag(a, "type")
- write_string(f, '<return' + typ + '>')
- write_string(f, '</return>')
- elif (a.tag == "argument"):
-
- default = get_tag(a, "default")
-
- write_string(f, '<argument index="' + a.attrib["index"] + '" name="' + escape(a.attrib["name"]) + '" type="' + a.attrib["type"] + '"' + default + '>')
- write_string(f, '</argument>')
-
- write_string(f, '<description>')
- if (old_class != None):
- old_method_descr = find_method_descr(old_class, m.attrib["name"])
- if (old_method_descr):
- write_string(f, escape(escape(old_method_descr.strip())))
-
- write_string(f, '</description>')
- dec_tab()
- write_string(f, "</method>")
- dec_tab()
- write_string(f, "</methods>")
-
- signals = c.find("signals")
- if(signals != None and len(list(signals)) > 0):
-
- write_string(f, "<signals>")
- inc_tab()
-
- for m in list(signals):
-
- write_string(f, '<signal name="' + escape(m.attrib["name"]) + '">')
- inc_tab()
-
- for a in list(m):
- if (a.tag == "argument"):
-
- write_string(f, '<argument index="' + a.attrib["index"] + '" name="' + escape(a.attrib["name"]) + '" type="' + a.attrib["type"] + '">')
- write_string(f, '</argument>')
-
- write_string(f, '<description>')
- if (old_class != None):
- old_signal_descr = find_signal_descr(old_class, m.attrib["name"])
- if (old_signal_descr):
- write_string(f, escape(old_signal_descr.strip()))
- write_string(f, '</description>')
- dec_tab()
- write_string(f, "</signal>")
- dec_tab()
- write_string(f, "</signals>")
-
- constants = c.find("constants")
- if(constants != None and len(list(constants)) > 0):
-
- write_string(f, "<constants>")
- inc_tab()
-
- for m in list(constants):
-
- write_string(f, '<constant name="' + escape(m.attrib["name"]) + '" value="' + m.attrib["value"] + '">')
- old_constant_descr = find_constant_descr(old_class, m.attrib["name"])
- if (old_constant_descr):
- write_string(f, escape(old_constant_descr.strip()))
- write_string(f, "</constant>")
-
- dec_tab()
- write_string(f, "</constants>")
-
- dec_tab()
- write_string(f, "</class>")
-
-for c in list(old_doc):
- old_classes[c.attrib["name"]] = c
-
-for c in list(new_doc):
- write_class(c)
-write_string(f, '</doc>\n')