bundled/jinja2/custom_fixers/fix_broken_reraising.py @ 354188b0eca0
Allow signoff to be added when one already exists on a precursor. The current obsolescence support makes little difference between comments/signoff from a cset and the ones from its predecessors. This patch avoid a signoff from a precursor to be seen as changeable, and allow the user to re-signoff on the latest version of the changeset.
| author | Christophe de Vienne <cdevienne@gmail.com> |
|---|---|
| date | Wed, 29 Oct 2014 14:32:27 +0100 |
| 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