X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=bindings%2Fswig%2Fdoc.py;h=4987b6ceb656a468bacae19e926e7a181008d8ae;hb=ce3e1e6132d7f6242f10bc8b8e205a6714451321;hp=16cc16520e03ed84021d7ecd991ad5102aa6bad6;hpb=bd4fda24074ce175d23a59cb15cceb19707fe6f1;p=libsigrok.git diff --git a/bindings/swig/doc.py b/bindings/swig/doc.py index 16cc1652..4987b6ce 100644 --- a/bindings/swig/doc.py +++ b/bindings/swig/doc.py @@ -17,6 +17,7 @@ ## along with this program. If not, see . ## +from __future__ import print_function from xml.etree import ElementTree import sys, os @@ -40,20 +41,36 @@ for compound in index.findall('compound'): brief = get_text(cls.find('briefdescription')) if brief: if language == 'python': - print '%%feature("docstring") %s "%s";' % (class_name, brief) + print('%%feature("docstring") %s "%s";' % (class_name, brief)) elif language == 'java': - print '%%typemap(javaclassmodifiers) %s "/** %s */\npublic class"' % ( - class_name, brief) + print('%%typemap(javaclassmodifiers) %s "/** %s */\npublic class"' % ( + class_name, brief)) for section in cls.findall('sectiondef'): if section.attrib['kind'] != 'public-func': continue for function in section.findall('memberdef'): function_name = function.find('name').text brief = get_text(function.find('briefdescription')) + parameters = {} + for para in function.find('detaileddescription').findall('para'): + paramlist = para.find('parameterlist') + if paramlist is not None: + for param in paramlist.findall('parameteritem'): + namelist = param.find('parameternamelist') + name = namelist.find('parametername').text + description = get_text(param.find('parameterdescription')) + if description: + parameters[name] = description if brief: if language == 'python': - print '%%feature("docstring") %s::%s "%s";' % ( - class_name, function_name, brief) + print(str.join('\n', [ + '%%feature("docstring") %s::%s "%s' % ( + class_name, function_name, brief)] + [ + '@param %s %s' % (name, desc) + for name, desc in parameters.items()]) + '";') elif language == 'java': - print '%%javamethodmodifiers %s::%s "/** %s */\npublic"' % ( - class_name, function_name, brief) + print(str.join('\n', [ + '%%javamethodmodifiers %s::%s "/** %s' % ( + class_name, function_name, brief)] + [ + ' * @param %s %s' % (name, desc) + for name, desc in parameters.items()]) + ' */\npublic"')