<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-2" http-equiv="Content-Type">
  <title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
<pre wrap="">A ještě toto mi nedá spát:
</pre>
<br>
jak zjistit obecně, které parametry se tak dají načíst z výše uvedené
konstrukce z instance msg['parametr'] ?<br>
<br>
a dále:<br>
msg['date'] mi dá například výsledek:  Mon, 25 Jul 2011 12:07:26 +0200<br>
<br>
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<br>
<br>
Zatím to dělám dvěma dotazy sql:<br>
<br>
SELECT STR_TO_DATE('Mon, 25 Jul 2011 12:07:26', '%a, %d %b %Y  %T ');<br>
a následně z jeho výsledku:<br>
SELECT CONVERT_TZ('2011-07-25 12:07:26','+00:00','+02:00');<br>
<br>
Děkuji za inspiraci<br>
<br>
V.L.<br>
<br>
<br>
Michal Molhanec napsal(a):
<blockquote cite="mid:4E2F065A.6090502@seznam.cz" type="cite">
  <pre wrap="">Dne 26.7.2011 17:40, "Ing. Vladislav Ludík" napsal(a):
  </pre>
  <blockquote type="cite">
    <pre wrap="">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.
    </pre>
  </blockquote>
  <pre wrap=""><!---->
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?</pre>
</blockquote>
<br>
</body>
</html>