Revision: 2302
Author: KariHusa
Date: Mon Oct 19 22:59:50 2009
Log: Using old xml as input, issue 417
http://code.google.com/p/robotframework/source/detail?r=2302
Modified:
/trunk/tools/libdoc/libdoc.py
=======================================
--- /trunk/tools/libdoc/libdoc.py Mon Oct 19 06:08:25 2009
+++ /trunk/tools/libdoc/libdoc.py Mon Oct 19 22:59:50 2009
@@ -183,6 +183,8 @@
ext = os.path.splitext(libname)[1].lower()
if ext in ('.html', '.htm', '.xhtml', '.tsv', '.txt'):
return ResourceDoc(libname, arguments, newname)
+ elif ext == '.xml':
+ return XmlLibraryDoc(libname, newname)
elif ext == '.java':
if not utils.is_jython:
exit(error='Documenting Java test libraries requires Jython.')
@@ -296,6 +298,18 @@
return []
+class XmlLibraryDoc(_DocHelper):
+
+ def __init__(self, libname, newname):
+ dom = utils.DomWrapper(libname)
+ self.name = dom.get_attr('name')
+ self.type = dom.get_attr('type')
+ self.version = dom.get_node('version').text
+ self.doc = dom.get_node('doc').text
+ self.inits = [ XmlKeywordDoc(node, self) for node in
dom.get_nodes('init') ]
+ self.keywords = [ XmlKeywordDoc(node, self) for node in
dom.get_nodes('kw') ]
+
+
class _BaseKeywordDoc(_DocHelper):
def __init__(self, library):
@@ -349,6 +363,16 @@
return required, defaults, varargs
+class XmlKeywordDoc(_BaseKeywordDoc):
+
+ def __init__(self, node, library):
+ _BaseKeywordDoc.__init__(self, library)
+ self.name = node.get_attr('name', '')
+ self.args = [ arg.text for arg in node.get_nodes('arguments/arg') ]
+ self.doc = node.get_node('doc').text
+ self.shortdoc = self.doc and self.doc.splitlines()[0] or ''
+
+
if utils.is_jython:
class JavaLibraryDoc(_DocHelper):