# HG changeset patch # User Pierre-Yves.David@ens-lyon.org # Date 1336596958 -7200 # Node ID 8469ccb9550f8c5d60614fef982347525a47a965 # Parent d32c07269dcd4d205f8acda04a4b819282e65d58 [doc] add `.t` to `.rst` converteur Update make file accordingly. diff -r d32c07269dcd -r 8469ccb9550f docs/makefile --- a/docs/makefile Wed May 09 22:29:16 2012 +0200 +++ b/docs/makefile Wed May 09 22:55:58 2012 +0200 @@ -3,4 +3,4 @@ sphinx-build . html/ tutorial: - cp tutorials/tutorial.t tutorials/tutorial.rst + python test2rst.py tutorials/ diff -r d32c07269dcd -r 8469ccb9550f docs/test2rst.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/docs/test2rst.py Wed May 09 22:55:58 2012 +0200 @@ -0,0 +1,64 @@ +#!/usr/bin/env python + +import os, os.path as op, re, sys + +# line starts with two chars one of which is not a space (and both are not +# newlines obviously) and ends with one or more newlines followed by two spaces +# on a next line (indented text) +CODEBLOCK = re.compile(r'()\n(([^ \n][^\n]|[^\n][^ \n])[^\n]*)\n+ ') + +INDEX = ''' +Mercurial tests +=============== + +.. toctree:: + :maxdepth: 1 +''' + + +def rstify(orig, name): + header = '%s\n%s\n\n' % (name, '=' * len(name)) + content = header + orig + content = CODEBLOCK.sub(r'\n\1\n\n::\n\n ', content) + return content + + +def main(base): + if os.path.isdir(base): + one_dir(base) + else: + print one_file(base) + + +def one_dir(base): + index = INDEX + #doc = lambda x: op.join(op.dirname(__file__), 'docs', x) + + for fn in sorted(os.listdir(base)): + if not fn.endswith('.t'): + continue + print fn + name = os.path.splitext(fn)[0] + content = one_file(op.join(base, fn)) + target = op.join(base, name + '.rst') + #with file(doc(name + '.rst'), 'w') as f: + with file(target, 'w') as f: + f.write(content) + print f + + index += '\n ' + name + + #with file(doc('index.rst'), 'w') as f: + # f.write(index) + + +def one_file(path): + name = os.path.basename(path)[:-2] + return rstify(file(path).read(), name) + + +if __name__ == '__main__': + if len(sys.argv) != 2: + print 'Please supply a path to tests dir as parameter' + sys.exit() + main(sys.argv[1])