aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Lib/lib2to3/fixes/fix_unicode.py
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@python.org>2023-05-23 19:40:02 +0200
committerGitHub <noreply@github.com>2023-05-23 19:40:02 +0200
commitae00b810d1d3ad7f1f7e226b02ece37c986330e7 (patch)
tree173ec10e86e887adad8740e7833c92a464779917 /Lib/lib2to3/fixes/fix_unicode.py
parentddb14859535ab8091381b9d0baf32dbe245b5e65 (diff)
downloadcpython-ae00b810d1d3ad7f1f7e226b02ece37c986330e7.tar.gz
cpython-ae00b810d1d3ad7f1f7e226b02ece37c986330e7.zip
gh-104780: Remove 2to3 program and lib2to3 module (#104781)
* Remove the Tools/scripts/2to3 script. * Remove the Lib/test/test_lib2to3/ directory. * Doc/tools/extensions/pyspecific.py: remove the "2to3fixer" object type. * Makefile and PC/layout/main.py no longer compile lib2to3 grammar files. * Update Makefile for 2to3 removal.
Diffstat (limited to 'Lib/lib2to3/fixes/fix_unicode.py')
-rw-r--r--Lib/lib2to3/fixes/fix_unicode.py42
1 files changed, 0 insertions, 42 deletions
diff --git a/Lib/lib2to3/fixes/fix_unicode.py b/Lib/lib2to3/fixes/fix_unicode.py
deleted file mode 100644
index c7982c2b97c..00000000000
--- a/Lib/lib2to3/fixes/fix_unicode.py
+++ /dev/null
@@ -1,42 +0,0 @@
-r"""Fixer for unicode.
-
-* Changes unicode to str and unichr to chr.
-
-* If "...\u..." is not unicode literal change it into "...\\u...".
-
-* Change u"..." into "...".
-
-"""
-
-from ..pgen2 import token
-from .. import fixer_base
-
-_mapping = {"unichr" : "chr", "unicode" : "str"}
-
-class FixUnicode(fixer_base.BaseFix):
- BM_compatible = True
- PATTERN = "STRING | 'unicode' | 'unichr'"
-
- def start_tree(self, tree, filename):
- super(FixUnicode, self).start_tree(tree, filename)
- self.unicode_literals = 'unicode_literals' in tree.future_features
-
- def transform(self, node, results):
- if node.type == token.NAME:
- new = node.clone()
- new.value = _mapping[node.value]
- return new
- elif node.type == token.STRING:
- val = node.value
- if not self.unicode_literals and val[0] in '\'"' and '\\' in val:
- val = r'\\'.join([
- v.replace('\\u', r'\\u').replace('\\U', r'\\U')
- for v in val.split(r'\\')
- ])
- if val[0] in 'uU':
- val = val[1:]
- if val == node.value:
- return node
- new = node.clone()
- new.value = val
- return new