1.1 --- a/convert.py Tue Jul 24 18:45:32 2018 +0200
1.2 +++ b/convert.py Tue Jul 24 23:36:13 2018 +0200
1.3 @@ -1,16 +1,9 @@
1.4 #!/usr/bin/env python
1.5
1.6 -from moinformat import get_serialiser, parse, serialise
1.7 +from moinformat import get_serialiser, make_parser, parse, serialise
1.8 from os.path import split
1.9 import sys
1.10
1.11 -def test_option(args, name):
1.12 - if name in args:
1.13 - args.remove(name)
1.14 - return True
1.15 - else:
1.16 - return False
1.17 -
1.18 def main():
1.19 dirname, progname = split(sys.argv[0])
1.20 args = sys.argv[1:]
1.21 @@ -18,6 +11,7 @@
1.22 l = filenames = []
1.23 formats = []
1.24 tree = False
1.25 + macros = False
1.26
1.27 for arg in args:
1.28
1.29 @@ -26,6 +20,11 @@
1.30 if arg == "--tree":
1.31 tree = True
1.32
1.33 + # Detect macro evaluation.
1.34 +
1.35 + elif arg == "--macros":
1.36 + macros = True
1.37 +
1.38 # Switch to collecting formats
1.39
1.40 elif arg == "--format":
1.41 @@ -45,7 +44,12 @@
1.42
1.43 f = open(filename)
1.44 try:
1.45 - d = parse(f.read())
1.46 + p = make_parser()
1.47 + d = parse(f.read(), p)
1.48 +
1.49 + if macros:
1.50 + p.evaluate_macros()
1.51 +
1.52 if tree:
1.53 print d.prettyprint()
1.54 else: