Re: [python] email headers

2011-07-27 Tema obsahu Michal Molhanec
Dne 27.7.2011 5:14, "Ing. Vladislav Ludík" napsal(a):
> 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'] ?

jestli myslíte seznam hlaviček, tak ten lze zjistit msg.keys()

> 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');

>>> import datetime
>>> d=datetime.strptime('Mon, 25 Jul 2011 12:07:26 +0200', '%a, %d %b %Y 
>>> %H:%M:%S +0200')
>>> d=d.replace(hour=d.hour+2)
>>> d.isoformat(' ')
'2011-07-25 14:07:26'

(ale v zásadě nevidím důvod, proč to nenechat na databázi, ty funkce 
STR_TO_DATE ap. lze přece volat rovnou při INSERTu)

-- 
Zdraví,
Michal Molhanec
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] email headers

2011-07-26 Tema obsahu

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?


___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

Re: [python] email headers

2011-07-26 Tema obsahu

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?
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

__ Informace od NOD32 6322 (20110725) __

Tato zprava byla proverena antivirovym systemem NOD32.
http://www.nod32.cz



  

Toto funguje skvěle.

Díky V.L.
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] email headers

2011-07-26 Tema obsahu Tomas Brabenec

Ahoj,

mrkni na https://github.com/marrow/marrow.mailer
Původní myšlenka toho projektu je trochu někde jinde, ale myslím, že by 
se z toho dalo ledacos využít.


T.


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.

Děkuji za váš čas.

Zdraví V.L.



___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] email headers

2011-07-26 Tema obsahu Michal Molhanec
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?
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


[python] email headers

2011-07-26 Tema obsahu Ing. Vladislav Ludík

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.

Děkuji za váš čas.

Zdraví V.L.



___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python