annotate fixes/fix_unicode_in_strings.py @ 929:1a86e0af2ae1

Merge r1137 from py3k: add 2to3 build infrastructure to setup.py (this pulls the tests into the source distribution so that tests can be run after building with 2to3)
author hodgestar
date Fri, 18 Mar 2011 09:02:22 +0000
parents
children
rev   line source
929
1a86e0af2ae1 Merge r1137 from py3k: add 2to3 build infrastructure to setup.py (this pulls the tests into the source distribution so that tests can be run after building with 2to3)
hodgestar
parents:
diff changeset
1 """Fixer that changes expressions inside strings literals from u"..." to "...".
1a86e0af2ae1 Merge r1137 from py3k: add 2to3 build infrastructure to setup.py (this pulls the tests into the source distribution so that tests can be run after building with 2to3)
hodgestar
parents:
diff changeset
2
1a86e0af2ae1 Merge r1137 from py3k: add 2to3 build infrastructure to setup.py (this pulls the tests into the source distribution so that tests can be run after building with 2to3)
hodgestar
parents:
diff changeset
3 """
1a86e0af2ae1 Merge r1137 from py3k: add 2to3 build infrastructure to setup.py (this pulls the tests into the source distribution so that tests can be run after building with 2to3)
hodgestar
parents:
diff changeset
4
1a86e0af2ae1 Merge r1137 from py3k: add 2to3 build infrastructure to setup.py (this pulls the tests into the source distribution so that tests can be run after building with 2to3)
hodgestar
parents:
diff changeset
5 import re
1a86e0af2ae1 Merge r1137 from py3k: add 2to3 build infrastructure to setup.py (this pulls the tests into the source distribution so that tests can be run after building with 2to3)
hodgestar
parents:
diff changeset
6 from lib2to3 import fixer_base
1a86e0af2ae1 Merge r1137 from py3k: add 2to3 build infrastructure to setup.py (this pulls the tests into the source distribution so that tests can be run after building with 2to3)
hodgestar
parents:
diff changeset
7
1a86e0af2ae1 Merge r1137 from py3k: add 2to3 build infrastructure to setup.py (this pulls the tests into the source distribution so that tests can be run after building with 2to3)
hodgestar
parents:
diff changeset
8 _literal_re = re.compile(r"(.+?)\b[uU]([rR]?[\'\"])")
1a86e0af2ae1 Merge r1137 from py3k: add 2to3 build infrastructure to setup.py (this pulls the tests into the source distribution so that tests can be run after building with 2to3)
hodgestar
parents:
diff changeset
9
1a86e0af2ae1 Merge r1137 from py3k: add 2to3 build infrastructure to setup.py (this pulls the tests into the source distribution so that tests can be run after building with 2to3)
hodgestar
parents:
diff changeset
10 class FixUnicodeInStrings(fixer_base.BaseFix):
1a86e0af2ae1 Merge r1137 from py3k: add 2to3 build infrastructure to setup.py (this pulls the tests into the source distribution so that tests can be run after building with 2to3)
hodgestar
parents:
diff changeset
11
1a86e0af2ae1 Merge r1137 from py3k: add 2to3 build infrastructure to setup.py (this pulls the tests into the source distribution so that tests can be run after building with 2to3)
hodgestar
parents:
diff changeset
12 PATTERN = "STRING"
1a86e0af2ae1 Merge r1137 from py3k: add 2to3 build infrastructure to setup.py (this pulls the tests into the source distribution so that tests can be run after building with 2to3)
hodgestar
parents:
diff changeset
13
1a86e0af2ae1 Merge r1137 from py3k: add 2to3 build infrastructure to setup.py (this pulls the tests into the source distribution so that tests can be run after building with 2to3)
hodgestar
parents:
diff changeset
14 def transform(self, node, results):
1a86e0af2ae1 Merge r1137 from py3k: add 2to3 build infrastructure to setup.py (this pulls the tests into the source distribution so that tests can be run after building with 2to3)
hodgestar
parents:
diff changeset
15 new = node.clone()
1a86e0af2ae1 Merge r1137 from py3k: add 2to3 build infrastructure to setup.py (this pulls the tests into the source distribution so that tests can be run after building with 2to3)
hodgestar
parents:
diff changeset
16 new.value = _literal_re.sub(r"\1\2", new.value)
1a86e0af2ae1 Merge r1137 from py3k: add 2to3 build infrastructure to setup.py (this pulls the tests into the source distribution so that tests can be run after building with 2to3)
hodgestar
parents:
diff changeset
17 return new
Copyright (C) 2012-2017 Edgewall Software