import optparse as OP
import os as OS
import re as RX
-from cStringIO import StringIO
+import sys as SYS
+if SYS.version_info >= (3,): from io import StringIO
+else: from cStringIO import StringIO
from sys import argv, exit, stderr
###--------------------------------------------------------------------------
"""
return IT.izip(IT.count(), seq)
+if SYS.version_info >= (3,):
+ def func_name(func): return func.__name__
+ IT.izip = zip
+else:
+ def func_name(func): return func.func_name
+
+try: next
+except NameError:
+ def next(obj): return obj.next()
+
###--------------------------------------------------------------------------
### Reading the input values.
Sets `curr' to the next line, or to None if the input is exhausted.
"""
- try: me.curr = me._it.next()
+ try: me.curr = next(me._it)
except StopIteration: me.curr = None
else: me._i += 1
An operator function is given the raw value as an argument and should
return the transformed value.
"""
- name = func.func_name
+ name = func_name(func)
if name.startswith('op_'): name = name[3:]
OPMAP[name] = func
return func
## object.
l = lit.getvalue()
if l: tt.append(LiteralTemplate(l))
- lit.reset()
+ lit.seek(0)
lit.truncate()
## Iterate over the lines of input.
## Main dispatch.
if opts.mode == 'list':
- for file, cs in filenames(filetempl): print file
+ for file, cs in filenames(filetempl): print(file)
elif opts.mode == 'gen':
with open(opts.input) as f:
templ = RepeatTemplate(compile_template(opts.input, f.read()))