[python] email headers

"Ing. Vladislav Ludík" vlada na ludik.cz
Středa Červenec 27 05:14:22 CEST 2011


A ještě toto mi nedá spát:


jak zjistit obecně, které parametry se tak dají načíst z výše uvedené 
konstrukce z instance msg['parametr'] ?

a dále:
msg['date'] mi dá například výsledek:  Mon, 25 Jul 2011 12:07:26 +0200

Je v Pythonu funkce na převod do formátu pro zapsání do tabulky mysql, v 
tomto příkladu by to mělo být: 2011-07-25 14:07:26

Zatím to dělám dvěma dotazy sql:

SELECT STR_TO_DATE('Mon, 25 Jul 2011 12:07:26', '%a, %d %b %Y  %T ');
a následně z jeho výsledku:
SELECT CONVERT_TZ('2011-07-25 12:07:26','+00:00','+02:00');

Děkuji za inspiraci

V.L.


Michal Molhanec napsal(a):
> Dne 26.7.2011 17:40, "Ing. Vladislav Ludík" napsal(a):
>   
>> Zdravím všechny znalé pythonu.
>>
>> Může mi někdo poradit s dekódováním hlaviček emailů ?
>>
>> Jde o toto:
>>
>> Ve složce /var/mail/ na linuxu přicházející emaily potřebuju elegantně zdekódovat.
>> Co se týká vlastních zpráv, nemám problém:
>>
>> def ebox(inbox):
>>    'Zpracuje email inbox'
>>      fp = open(inbox, 'rb')
>>    mbox = mailbox.UnixMailbox(fp, email.message_from_file)
>>
>>    for msg in mbox:
>>        for part in msg.walk():
>>            if part.get_content_maintype() == 'text':
>>                data = part.get_payload(decode=True)
>>                # zpracuju data
>>
>> Problém mám jen s hlavičkama. Když použiju například
>> headers = Parser().parse(fp)
>> tak ten ve výsledku dává při více zprávách za sebou vždy první nalezený objekt, ale další už ne:
>>
>>    print 'To: %s' % headers['to']
>>    print 'From: %s' % headers['from']
>>    print 'Subject: %s' % headers['subject']
>>
>> Můj dotaz tedy je: jak skloubit jednoduše obě funkce?
>> Složitě to umím.
>>     
>
> Něco jako
>
>  def ebox(inbox):
>     'Zpracuje email inbox'
>      fp = open(inbox, 'rb')
>     mbox = mailbox.UnixMailbox(fp, email.message_from_file)
>
>     for msg in mbox:
>         print 'To: %s' % msg['to']
>         print 'From: %s' % msg['from']
>         print 'Subject: %s' % msg['subject']
>
>         for part in msg.walk():
>             if part.get_content_maintype() == 'text':
>                 data = part.get_payload(decode=True)
>                 # zpracuju data
>
> by nefungovalo?

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


Další informace o konferenci Python