123456789101112131415161718192021222324 |
- """Optional fixer that changes all unprefixed string literals "..." to b"...".
- br'abcd' is a SyntaxError on Python 2 but valid on Python 3.
- ur'abcd' is a SyntaxError on Python 3 but valid on Python 2.
- """
- from __future__ import unicode_literals
- import re
- from lib2to3.pgen2 import token
- from lib2to3 import fixer_base
- _literal_re = re.compile(r"[^bBuUrR]?[\'\"]")
- class FixBytes(fixer_base.BaseFix):
- BM_compatible = True
- PATTERN = "STRING"
- def transform(self, node, results):
- if node.type == token.STRING:
- if _literal_re.match(node.value):
- new = node.clone()
- new.value = u'b' + new.value
- return new
|