| Index: third_party/google-endpoints/libfuturize/fixes/fix_bytes.py
|
| diff --git a/third_party/google-endpoints/libfuturize/fixes/fix_bytes.py b/third_party/google-endpoints/libfuturize/fixes/fix_bytes.py
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..42021223ab5ea3bc249e63b62baf78fa2a3327f2
|
| --- /dev/null
|
| +++ b/third_party/google-endpoints/libfuturize/fixes/fix_bytes.py
|
| @@ -0,0 +1,24 @@
|
| +"""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
|
|
|