Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #82559
| References | <mailman.16902.1418376062.18130.python-list@python.org> <6ed57daf-29ec-4b45-b8b6-233d8d14cc02@googlegroups.com> <mailman.16953.1418584209.18130.python-list@python.org> <65c6d3c8-33cd-4fe9-a37e-cf2c1744603b@googlegroups.com> |
|---|---|
| From | Stefanos Karasavvidis <sk@isc.tuc.gr> |
| Date | 2014-12-15 13:27 +0200 |
| Subject | Re: encoding name mappings in codecs.py with email/charset.py |
| Newsgroups | comp.lang.python |
| Message-ID | <mailman.16980.1418642854.18130.python-list@python.org> (permalink) |
[Multipart message — attachments visible in raw view] - view raw
I played around with changing the names in the aliases.py and locale.py
files (from iso8859 to iso-88559), but this broke mailman.
I ended up changing the charset.py file
input_charset = codecs.lookup(input_charset).name
except LookupError:
pass
if (input_charset == 'iso8859-7'):
input_charset = 'iso-8859-15
if (input_charset == 'iso8859-15'):
input_charset = 'iso-8859-7'
if (input_charset == 'iso8859-1'):
input_charset = 'iso-8859-1'
This seems to work for now.
I really wonder why I'm the only one with this problem. This should affect
all Mailman users with member on MS Exchange 2010 (at least) servers.
Exchange produces
CAT.InvalidContent.Exception: InvalidCharsetException, Character set name
(iso8859-7) is invalid or not installed.; cannot handle content of message
with...
Thanks gst for the input
sk
On Sun, Dec 14, 2014 at 9:53 PM, gst <g.starck@gmail.com> wrote:
>
> Le dimanche 14 décembre 2014 14:10:22 UTC-5, Stefanos Karasavvidis a
> écrit :
> > thanks for replying gst.
> >
> > I've thought already of patching the Charset class, but hoped for a
> cleaner solution.
> >
> >
> > This ALIASES dict has already all the iso names *with* a dash. So it
> must get striped somewhere else.
>
>
> not on my side, modifying this dict with the missing key-value apparently
> does what you want also :
>
> Python 2.7.6 (default, Mar 22 2014, 22:59:56)
> [GCC 4.8.2] on linux2
> Type "copyright", "credits" or "license()" for more information.
> >>>
> >>> import email.charset
> >>> email.charset.ALIASES
> {'latin-8': 'iso-8859-14', 'latin-9': 'iso-8859-15', 'latin-2':
> 'iso-8859-2', 'latin-3': 'iso-8859-3', 'latin-1': 'iso-8859-1', 'latin-6':
> 'iso-8859-10', 'latin-7': 'iso-8859-13', 'latin-4': 'iso-8859-4',
> 'latin-5': 'iso-8859-9', 'euc_jp': 'euc-jp', 'latin-10': 'iso-8859-16',
> 'ascii': 'us-ascii', 'latin_10': 'iso-8859-16', 'latin_1': 'iso-8859-1',
> 'latin_2': 'iso-8859-2', 'latin_3': 'iso-8859-3', 'latin_4': 'iso-8859-4',
> 'latin_5': 'iso-8859-9', 'latin_6': 'iso-8859-10', 'latin_7':
> 'iso-8859-13', 'latin_8': 'iso-8859-14', 'latin_9': 'iso-8859-15', 'cp949':
> 'ks_c_5601-1987', 'euc_kr': 'euc-kr'}
> >>>
> >>> for i in range(1, 16):
> c = 'iso-8859-' + str(i)
> email.charset.ALIASES[c] = c
>
>
> >>>
> >>> iso7 = email.charset.Charset('iso-8859-7')
> >>> iso7
> iso-8859-7
> >>> str(iso7)
> 'iso-8859-7'
> >>>
>
> regards,
>
> gst.
>
> >
> > sk
> >
> >
> >
> > On Sun, Dec 14, 2014 at 7:21 PM, gst <g.st...@gmail.com> wrote:
> > Le vendredi 12 décembre 2014 04:21:14 UTC-5, Stefanos Karasavvidis a
> écrit :
> >
> > > I've hit a wall with mailman which seems to be caused by pyhon's
> character encoding names.
> >
> > >
> >
> > > I've narrowed the problem down to the email/charset.py file. Basically
> the following happens:
> >
> > >
> >
> >
> >
> > Hi,
> >
> >
> >
> > it's all in the email.charset.ALIASES dict.
> >
> >
> >
> > you could also simply patch the __str__ method of Charset :
> >
> >
> >
> > Python 2.7.6 (default, Mar 22 2014, 22:59:56)
> >
> > [GCC 4.8.2] on linux2
> >
> > Type "copyright", "credits" or "license()" for more information.
> >
> > >>>
> >
> > >>> import email.charset
> >
> > >>>
> >
> > >>> c = email.charset.Charset('iso-8859-7')
> >
> > >>> str(c)
> >
> > 'iso8859-7'
> >
> > >>>
> >
> > >>> old = email.charset.Charset.__str__
> >
> > >>>
> >
> > >>> def patched(self):
> >
> > r = old(self)
> >
> > if r.startswith('iso'):
> >
> > return 'iso-' + r[3:]
> >
> > return r
> >
> >
> >
> > >>>
> >
> > >>> email.charset.Charset.__str__ = patched
> >
> > >>>
> >
> > >>> str(c)
> >
> > 'iso-8859-7'
> >
> > >>>
> >
> >
> >
> >
> >
> > regards,
> >
> >
> >
> > gst.
> >
> > --
> >
> > https://mail.python.org/mailman/listinfo/python-list
> >
> >
> >
> >
> > --
> >
> >
> > ======================================================================
> > Stefanos Karasavvidis, Electronic & Computer Engineer, M.Sc.
> > e-mail: s...@isc.tuc.gr, Tel.: (+30) 2821037508, Fax: (+30) 2821037520
> > Technical University of Crete, Campus, Building A1
> --
> https://mail.python.org/mailman/listinfo/python-list
>
--
======================================================================
Stefanos Karasavvidis, Electronic & Computer Engineer, M.Sc.
<sk@isc.tuc.gr>e-mail: sk@isc.tuc.gr, Tel.: (+30) 2821037508, Fax: (+30)
2821037520
Technical University of Crete, Campus, Building A1
Back to comp.lang.python | Previous | Next — Previous in thread | Find similar | Unroll thread
encoding name mappings in codecs.py with email/charset.py Stefanos Karasavvidis <sk@isc.tuc.gr> - 2014-12-12 11:05 +0200
Re: encoding name mappings in codecs.py with email/charset.py gst <g.starck@gmail.com> - 2014-12-14 09:21 -0800
Re: encoding name mappings in codecs.py with email/charset.py Stefanos Karasavvidis <sk@isc.tuc.gr> - 2014-12-14 21:09 +0200
Re: encoding name mappings in codecs.py with email/charset.py gst <g.starck@gmail.com> - 2014-12-14 11:53 -0800
Re: encoding name mappings in codecs.py with email/charset.py Stefanos Karasavvidis <sk@isc.tuc.gr> - 2014-12-15 13:27 +0200
csiph-web