diff options
Diffstat (limited to 'scripts/fix_b.py')
-rw-r--r-- | scripts/fix_b.py | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/scripts/fix_b.py b/scripts/fix_b.py new file mode 100644 index 0000000..ccc8e1c --- /dev/null +++ b/scripts/fix_b.py @@ -0,0 +1,20 @@ +"""Fixer to change b('string') into b'string'.""" +# Author: Daniele Varrazzo + +import token +from lib2to3 import fixer_base +from lib2to3.pytree import Leaf + +class FixB(fixer_base.BaseFix): + + PATTERN = """ + power< wrapper='b' trailer< '(' arg=[any] ')' > rest=any* > + """ + + def transform(self, node, results): + arg = results['arg'] + wrapper = results["wrapper"] + if len(arg) == 1 and arg[0].type == token.STRING: + b = Leaf(token.STRING, 'b' + arg[0].value, prefix=wrapper.prefix) + node.children = [ b ] + results['rest'] + |