1.1 --- a/convert.py Sun Jul 29 00:19:30 2018 +0200
1.2 +++ b/convert.py Sun Jul 29 23:27:23 2018 +0200
1.3 @@ -1,6 +1,7 @@
1.4 #!/usr/bin/env python
1.5
1.6 -from moinformat import make_linker, make_parser, make_serialiser, parse, serialise
1.7 +from moinformat import make_linker, make_output, make_parser, make_serialiser, \
1.8 + parse, serialise
1.9 from os.path import split
1.10 import sys
1.11
1.12 @@ -12,6 +13,7 @@
1.13 formats = []
1.14 pagenames = []
1.15 mappings = []
1.16 + outputs = []
1.17 tree = False
1.18 macros = False
1.19
1.20 @@ -39,6 +41,12 @@
1.21 l = mappings
1.22 continue
1.23
1.24 + # Switch to collecting output locations.
1.25 +
1.26 + elif arg == "--output":
1.27 + l = outputs
1.28 + continue
1.29 +
1.30 # Switch to collecting page names.
1.31
1.32 elif arg == "--pagename":
1.33 @@ -50,6 +58,8 @@
1.34 else:
1.35 l.append(arg)
1.36
1.37 + # Collect multiple mappings.
1.38 +
1.39 if l is mappings:
1.40 continue
1.41
1.42 @@ -64,6 +74,10 @@
1.43 filename = filenames[0]
1.44 pagename = pagenames and pagenames[0] or split(filename)[-1]
1.45
1.46 + # Obtain an output context from any specified output details.
1.47 +
1.48 + output = outputs and make_output(outputs[0]) or None
1.49 +
1.50 # Derive a proper mapping from the given list of values.
1.51
1.52 mapping = {}
1.53 @@ -90,7 +104,7 @@
1.54 print d.prettyprint()
1.55 else:
1.56 l = make_linker(format, pagename, mapping)
1.57 - s = make_serialiser(format, l)
1.58 + s = make_serialiser(format, output, l)
1.59 print serialise(d, s)
1.60 finally:
1.61 f.close()