From d510f8f722129cf9569424a3983f3a0363c716d8 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Mon, 27 May 2013 08:25:24 +1000 Subject: [PATCH] autotest: added generation of Parameters.html for wordpress this generates APM docs for wordpress --- Tools/autotest/param_metadata/htmlemit.py | 64 ++++++++++++++++++++ Tools/autotest/param_metadata/param_parse.py | 2 + 2 files changed, 66 insertions(+) create mode 100644 Tools/autotest/param_metadata/htmlemit.py diff --git a/Tools/autotest/param_metadata/htmlemit.py b/Tools/autotest/param_metadata/htmlemit.py new file mode 100644 index 0000000000..3f95e854ac --- /dev/null +++ b/Tools/autotest/param_metadata/htmlemit.py @@ -0,0 +1,64 @@ +#!/usr/bin/env python + +import re +from param import * +from emit import Emit + +# Emit docs in a form acceptable to the APM wordpress docs site +class HtmlEmit(Emit): + + def __init__(self): + html_fname = 'Parameters.html' + self.f = open(html_fname, mode='w') + self.preamble = ''' + + +[toc]\n +''' + self.t = '' + + def escape(self, s): + s = s.replace(' ', '-') + s = s.replace(':', '-') + s = s.replace('(', '') + s = s.replace(')', '') + return s + + def close(self): + self.f.write(self.preamble) + self.f.write(self.t) + self.f.close() + + def start_libraries(self): + self.t += '\n\n

Libraries

\n\n' + + def emit(self, g, f): + tag = '%s Parameters' % g.name + t = '\n\n

%s

\n' % tag + + for param in g.params: + if not hasattr(param, 'DisplayName') or not hasattr(param, 'Description'): + continue + tag = '%s (%s)' % (param.DisplayName, param.name) + t += '\n\n

%s

' % tag + t += "\n\n

%s

\n" % param.Description + t += "\n" + self.t += t + diff --git a/Tools/autotest/param_metadata/param_parse.py b/Tools/autotest/param_metadata/param_parse.py index b3c8e92241..273eef39f9 100755 --- a/Tools/autotest/param_metadata/param_parse.py +++ b/Tools/autotest/param_metadata/param_parse.py @@ -5,6 +5,7 @@ import os, glob, re, sys from param import * from wikiemit import WikiEmit from xmlemit import XmlEmit +from htmlemit import HtmlEmit from optparse import OptionParser parser = OptionParser("param_parse.py [options]") @@ -143,5 +144,6 @@ for library in libraries: do_emit(XmlEmit()) do_emit(WikiEmit()) + do_emit(HtmlEmit()) sys.exit(error_count)