Skip to content

Commit 5beb870

Browse files
Commit
1 parent 609d5ad commit 5beb870

3 files changed

Lines changed: 16 additions & 28 deletions

File tree

Lib/email/charset.py

Lines changed: 5 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
from email import errors
1818
from email.encoders import encode_7or8bit
19+
from encodings.aliases import aliases as ALIASES
1920

2021

2122
# Flags for types of header encodings
@@ -61,35 +62,11 @@
6162
'utf-8': (SHORTEST, BASE64, 'utf-8'),
6263
}
6364

64-
# Aliases for other commonly-used names for character sets. Map
65-
# them to the real ones used in email.
66-
ALIASES = {
67-
'latin_1': 'iso-8859-1',
65+
# The email module uses the slower latin-1 encoding
66+
ALIASES.update({
6867
'latin-1': 'iso-8859-1',
69-
'latin_2': 'iso-8859-2',
70-
'latin-2': 'iso-8859-2',
71-
'latin_3': 'iso-8859-3',
72-
'latin-3': 'iso-8859-3',
73-
'latin_4': 'iso-8859-4',
74-
'latin-4': 'iso-8859-4',
75-
'latin_5': 'iso-8859-9',
76-
'latin-5': 'iso-8859-9',
77-
'latin_6': 'iso-8859-10',
78-
'latin-6': 'iso-8859-10',
79-
'latin_7': 'iso-8859-13',
80-
'latin-7': 'iso-8859-13',
81-
'latin_8': 'iso-8859-14',
82-
'latin-8': 'iso-8859-14',
83-
'latin_9': 'iso-8859-15',
84-
'latin-9': 'iso-8859-15',
85-
'latin_10':'iso-8859-16',
86-
'latin-10':'iso-8859-16',
87-
'cp949': 'ks_c_5601-1987',
88-
'euc_jp': 'euc-jp',
89-
'euc_kr': 'euc-kr',
90-
'ascii': 'us-ascii',
91-
}
92-
68+
'latin_1': 'iso-8859-1',
69+
})
9370

9471
# Map charsets to their Unicode codec strings.
9572
CODEC_MAP = {

Lib/encodings/aliases.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -318,6 +318,7 @@
318318
'iso_ir_157' : 'iso8859_10',
319319
'l6' : 'iso8859_10',
320320
'latin6' : 'iso8859_10',
321+
'latin_6' : 'iso8859_10',
321322

322323
# iso8859_11 codec
323324
'thai' : 'iso8859_11',
@@ -328,6 +329,7 @@
328329
'iso_8859_13' : 'iso8859_13',
329330
'l7' : 'iso8859_13',
330331
'latin7' : 'iso8859_13',
332+
'latin_7' : 'iso8859_13',
331333

332334
# iso8859_14 codec
333335
'iso_8859_14' : 'iso8859_14',
@@ -336,18 +338,21 @@
336338
'iso_ir_199' : 'iso8859_14',
337339
'l8' : 'iso8859_14',
338340
'latin8' : 'iso8859_14',
341+
'latin_8' : 'iso8859_14',
339342

340343
# iso8859_15 codec
341344
'iso_8859_15' : 'iso8859_15',
342345
'l9' : 'iso8859_15',
343346
'latin9' : 'iso8859_15',
347+
'latin_9' : 'iso8859_15',
344348

345349
# iso8859_16 codec
346350
'iso_8859_16' : 'iso8859_16',
347351
'iso_8859_16_2001' : 'iso8859_16',
348352
'iso_ir_226' : 'iso8859_16',
349353
'l10' : 'iso8859_16',
350354
'latin10' : 'iso8859_16',
355+
'latin_10' : 'iso8859_16',
351356

352357
# iso8859_2 codec
353358
'csisolatin2' : 'iso8859_2',
@@ -356,6 +361,7 @@
356361
'iso_ir_101' : 'iso8859_2',
357362
'l2' : 'iso8859_2',
358363
'latin2' : 'iso8859_2',
364+
'latin_2' : 'iso8859_2',
359365

360366
# iso8859_3 codec
361367
'csisolatin3' : 'iso8859_3',
@@ -364,6 +370,7 @@
364370
'iso_ir_109' : 'iso8859_3',
365371
'l3' : 'iso8859_3',
366372
'latin3' : 'iso8859_3',
373+
'latin_3' : 'iso8859_3',
367374

368375
# iso8859_4 codec
369376
'csisolatin4' : 'iso8859_4',
@@ -372,6 +379,7 @@
372379
'iso_ir_110' : 'iso8859_4',
373380
'l4' : 'iso8859_4',
374381
'latin4' : 'iso8859_4',
382+
'latin_4' : 'iso8859_4',
375383

376384
# iso8859_5 codec
377385
'csisolatincyrillic' : 'iso8859_5',
@@ -415,6 +423,7 @@
415423
'iso_ir_148' : 'iso8859_9',
416424
'l5' : 'iso8859_9',
417425
'latin5' : 'iso8859_9',
426+
'latin_5' : 'iso8859_9',
418427

419428
# johab codec
420429
'cp1361' : 'johab',
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
:mod:`email`: Use :mod:`!encodings.aliases` for alias lookup
2+
:mod:`!encodings.aliases`: Add ``latin_*`` aliases.

0 commit comments

Comments
 (0)