[python] Poskozena diakritika pri zpracovani mailu na starsim Ubuntu

Vladimir Macek macek na sandbox.cz
Středa Říjen 23 09:56:02 CEST 2013


Zdravim,

dodavam klientovi skript pro stazeni mailu z POP3, preformatovani a
odeslani pres SMTP. Touto metodou beru z puvodniho mailu textovou cast:

    def get_email_text(self, msg):
        """
        get plaintext part of the message, or None if none
        """
        get_charset = lambda msg: msg.get_content_charset() or
    msg.get_charset() or 'ascii'
        get_payload = lambda msg: unicode(msg.get_payload(decode=True),
    get_charset(msg), 'replace')

        maintype = msg.get_content_maintype()
        if maintype == 'multipart':
            return u'\n'.join(get_payload(part) for part in
    typed_subpart_iterator(msg, 'text', 'plain'))
        elif maintype == 'text':
            return get_payload(msg)
        else:
            return None


U me na Ubuntu 12.04.3 LTS s Python 2.7 i na Debian Squeeze s Python 2.6 se
maily zpracuji dobre. Zahlavi hlavni casti zdrojaku vysledneho mailu a
dobre kodovany vyraz "odlozeni trestniho oznameni":

    Content-Type: text/html; charset="utf-8"
    MIME-Version: 1.0
    Content-Transfer-Encoding: quoted-printable

    odlo=C5=BEen=C3=AD trestn=C3=ADho ozn=C3=A1men=C3=AD


Nicmene u klienta na Ubuntu 10.04 LTS s Python 2.6 maji vsechny maily
diakritiku poskozenou, opet zahlavi s stejne slovo blbe kodovane:

    Content-Type: text/html; charset="utf-8"
    MIME-Version: 1.0
    Content-Transfer-Encoding: quoted-printable

    odlo=17Een=ED trestn=EDho ozn=E1men=ED


Vim, ze 10.04 je dost stara verze, ale takhle zlobit? Zaslal mi vypis
promennych prostredi, nevidim tam nic podezreleho.

Nesetkal se nekdo z vas s necim podobnym?

Diky predem,

Vlada

------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://www.py.cz/pipermail/python/attachments/20131023/9e06258d/attachment.html>


Další informace o konferenci Python