def _parse_documentation(xml):
if xml.strip() == '':
return ''
parser = ElementTree.XMLParser(encoding='UTF-8')
root = ElementTree.XML(xml.encode('UTF-8'), parser=parser)
summary = ''
params = []
returns = ''
note = ''
for node in root:
if node.tag == 'summary':
summary = _parse_documentation_content(node)
elif node.tag == 'param':
doc = _parse_documentation_content(node).replace('\n','')
params.append('%s: %s' % (snake_case(node.attrib['name']), doc))
elif node.tag == 'returns':
returns = 'Returns:\n %s' % _parse_documentation_content(node).replace('\n','')
elif node.tag == 'remarks':
note = 'Note: %s' % _parse_documentation_content(node)
if len(params) > 0:
params = 'Args:\n%s' % '\n'.join(' '+x for x in params)
else:
params = ''
return '\n\n'.join(filter(lambda x: x != '', [summary, params, returns, note]))
评论列表
文章目录