def wiki_to_html(wikitext, env, absurls=False, escape_newlines=False): if not wikitext: return Markup() out = StringIO() x = Formatter(env, absurls) x.format(wikitext, out, escape_newlines) toc_html = '
\n%s\n
' % toc_row(x, "root") return '%s%s\n
' % (toc_html, Markup(out.getvalue())) def toc_row(env, row): if row not in env._toc: return tmp = "
    " for row in env._toc[row]: tmp = "%s\n
  1. %s" % (tmp, row[0], row[1]) x = toc_row(env, row[0]) if x: tmp = "%s\n%s\n" % (tmp, x) tmp = "%s
  2. " % tmp tmp = "%s\n
" % tmp return tmp