from xml.sax.saxutils import escape import codecs class MarkdownTablesOutput(): def __init__(self, groups): result = ("# Parameter Reference\n" "> **Note** **This list is auto-generated from the source code** and contains the most recent parameter documentation.\n" "\n") for group in groups: result += '## %s\n\n' % group.GetName() result += '\n' result += '\n' result += '\n' result += '\n' result += '\n' for param in group.GetParams(): code = param.GetName() def_val = param.GetDefault() or '' name = param.GetFieldValue("short_desc") or '' min_val = param.GetFieldValue("min") or '' max_val = param.GetFieldValue("max") or '' long_desc = param.GetFieldValue("long_desc") or '' if long_desc is not '': long_desc = '

Comment: %s

' % long_desc if name == code: name = "" code='%s' % (code, code) result += '\n' % (code,name, long_desc, min_val,max_val,def_val) #Close the table. result += '
NameDescriptionMinMaxDefault
%s

%s

%s
%s%s%s
\n\n' self.output = result; def Save(self, filename): with codecs.open(filename, 'w', 'utf-8') as f: f.write(self.output)