diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2015-12-12 23:30:45 +0100 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2015-12-12 23:30:45 +0100 |
commit | aeb5ea59340f91ae445330c95429f903a8f20e8a (patch) | |
tree | 09e0e73b3faedfbbaed8823137a0935c56a61930 /tools/docdump/doc_merge.py | |
parent | fb00cee33bd29969805572238815c0fb3d29ee45 (diff) | |
download | redot-engine-aeb5ea59340f91ae445330c95429f903a8f20e8a.tar.gz |
Move documentation python tools to doc/tools folder
Diffstat (limited to 'tools/docdump/doc_merge.py')
-rw-r--r-- | tools/docdump/doc_merge.py | 208 |
1 files changed, 0 insertions, 208 deletions
diff --git a/tools/docdump/doc_merge.py b/tools/docdump/doc_merge.py deleted file mode 100644 index 872f38ed87..0000000000 --- a/tools/docdump/doc_merge.py +++ /dev/null @@ -1,208 +0,0 @@ -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("<",">"); - ret=ret.replace(">","<"); - ret=ret.replace("'","'"); - ret=ret.replace("\"","""); - 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==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') - - |