annotate fixes/fix_unicode_in_strings.py @ 912:46db99909472 experimental-py3k

py3k branch: 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 Sun, 24 Oct 2010 21:09:36 +0000
parents
children
rev   line source
912
46db99909472 py3k branch: 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 "...".
46db99909472 py3k branch: 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
46db99909472 py3k branch: 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 """
46db99909472 py3k branch: 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
46db99909472 py3k branch: 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
46db99909472 py3k branch: 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
46db99909472 py3k branch: 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
46db99909472 py3k branch: 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]?[\'\"])")
46db99909472 py3k branch: 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
46db99909472 py3k branch: 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):
46db99909472 py3k branch: 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
46db99909472 py3k branch: 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"
46db99909472 py3k branch: 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
46db99909472 py3k branch: 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):
46db99909472 py3k branch: 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()
46db99909472 py3k branch: 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)
46db99909472 py3k branch: 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