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 += 'Name | Description | Min | Max | Default |
\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 += '%s | %s %s | %s | %s | %s |
\n' % (code,name, long_desc, min_val,max_val,def_val)
#Close the table.
result += '
\n\n'
self.output = result;
def Save(self, filename):
with codecs.open(filename, 'w', 'utf-8') as f:
f.write(self.output)