tests/heredoctest.py
author Christian Ebert <blacktrash@gmx.net>
Fri, 10 Aug 2012 20:37:20 +0100
changeset 1141 4e2090ed2e72
parent 1110 d5b3404b82ce
permissions -rw-r--r--
Avoid traceback caused by bogus date input (issue3344) Wrap datefilters which split date texts with util.parsedate. We do not abort, as the bogus date must have been given by the user.

import sys

globalvars = {}
localvars = {}
lines = sys.stdin.readlines()
while lines:
    l = lines.pop(0)
    if l.startswith('SALT'):
        print l[:-1]
    elif l.startswith('>>> '):
        snippet = l[4:]
        while lines and lines[0].startswith('... '):
            l = lines.pop(0)
            snippet += "\n" + l[4:]
        c = compile(snippet, '<heredoc>', 'single')
        try:
            exec c in globalvars, localvars
        except Exception, inst:
            print repr(inst)