bundled/jinja2/custom_fixers/fix_broken_reraising.py @ fc97fabaf28d
Update windows contrib script for current TortoiseHg version (2.6.2).
TortoiseHg 2.6.2 is packaged with Python 2.7.3 (and not 2.6.x), and now
includes some of the libraries that this script previously needed to copy into
place.
author |
Chris Nielsen |
date |
Fri, 18 Jan 2013 11:51:36 -0500 |
parents |
256716e3a3d7 |
children |
(none) |
from lib2to3 import fixer_base, pytree
from lib2to3.fixer_util import Name, BlankLine, Name, Attr, ArgList
class FixBrokenReraising(fixer_base.BaseFix):
PATTERN = """
raise_stmt< 'raise' any ',' val=any ',' tb=any >
"""
# run before the broken 2to3 checker with the same goal
# tries to rewrite it with a rule that does not work out for jinja
run_order = 1
def transform(self, node, results):
tb = results['tb'].clone()
tb.prefix = ''
with_tb = Attr(results['val'].clone(), Name('with_traceback')) + \
[ArgList([tb])]
new = pytree.Node(self.syms.simple_stmt, [Name("raise")] + with_tb)
new.prefix = node.prefix
return new