summaryrefslogtreecommitdiff
path: root/Lib/codecs.py
diff options
context:
space:
mode:
authorMarc-André Lemburg <mal@egenix.com>2001-01-03 21:29:14 +0000
committerMarc-André Lemburg <mal@egenix.com>2001-01-03 21:29:14 +0000
commita866df806dd0ffd439bbba873ab9f3da7080e0a0 (patch)
treedd4b4b62a54e1eb7da6c33e4c578f5b7d78a43f9 /Lib/codecs.py
parentb55b7bb3ab1cb0259e3ba2d9acaebbbd1cb78099 (diff)
downloadcpython-git-a866df806dd0ffd439bbba873ab9f3da7080e0a0.tar.gz
This patch changes the default behaviour of the builtin charmap
codec to not apply Latin-1 mappings for keys which are not found in the mapping dictionaries, but instead treat them as undefined mappings. The patch was originally written by Martin v. Loewis with some additional (cosmetic) changes and an updated test script by Marc-Andre Lemburg. The standard codecs were recreated from the most current files available at the Unicode.org site using the Tools/scripts/gencodec.py tool. This patch closes the bugs #116285 and #119960.
Diffstat (limited to 'Lib/codecs.py')
-rw-r--r--Lib/codecs.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/Lib/codecs.py b/Lib/codecs.py
index fca0f8e287..993113752e 100644
--- a/Lib/codecs.py
+++ b/Lib/codecs.py
@@ -539,6 +539,21 @@ def EncodedFile(file, data_encoding, file_encoding=None, errors='strict'):
sr.file_encoding = file_encoding
return sr
+### Helpers for charmap-based codecs
+
+def make_identity_dict(rng):
+
+ """ make_identity_dict(rng) -> dict
+
+ Return a dictionary where elements of the rng sequence are
+ mapped to themselves.
+
+ """
+ res = {}
+ for i in rng:
+ res[i]=i
+ return res
+
### Tests
if __name__ == '__main__':