comparison planemo/lib/python3.7/site-packages/libfuturize/fixes/fix_bytes.py @ 1:56ad4e20f292 draft

"planemo upload commit 6eee67778febed82ddd413c3ca40b3183a3898f1"
author guerler
date Fri, 31 Jul 2020 00:32:28 -0400 (2020-07-31)
parents
children
comparison
equal deleted inserted replaced
0:d30785e31577 1:56ad4e20f292
1 """Optional fixer that changes all unprefixed string literals "..." to b"...".
2
3 br'abcd' is a SyntaxError on Python 2 but valid on Python 3.
4 ur'abcd' is a SyntaxError on Python 3 but valid on Python 2.
5
6 """
7 from __future__ import unicode_literals
8
9 import re
10 from lib2to3.pgen2 import token
11 from lib2to3 import fixer_base
12
13 _literal_re = re.compile(r"[^bBuUrR]?[\'\"]")
14
15 class FixBytes(fixer_base.BaseFix):
16 BM_compatible = True
17 PATTERN = "STRING"
18
19 def transform(self, node, results):
20 if node.type == token.STRING:
21 if _literal_re.match(node.value):
22 new = node.clone()
23 new.value = u'b' + new.value
24 return new