pl/pyton: exceptions.ImportError: No module named email.Parser

Поиск
Список
Период
Сортировка
От Eugene Prokopiev
Тема pl/pyton: exceptions.ImportError: No module named email.Parser
Дата
Msg-id 4389CDF2.6020805@stc.donpac.ru
обсуждение исходный текст
Ответы Re: pl/pyton: exceptions.ImportError: No module named email.Parser
Список pgsql-interfaces
Hi,

I need to parse e-mail messages in pl/python functions. So, I write:

dbmail=# create or replace function get_header(varchar) returns varchar 
as $$
dbmail$# import email.Parser
dbmail$# parser = email.Parser.Parser()
dbmail$# message = parser.parse(args[0])
dbmail$# return message.get("From")
dbmail$# $$ language plpythonu;
CREATE FUNCTION
dbmail=#
dbmail=# select get_header(messageblk) from dbmail_messageblks;
ERROR:  plpython: function "get_header" failed
DETAIL:  exceptions.ImportError: No module named email.Parser

Simple pl/python functions works fine:

dbmail=# create or replace function test(varchar) returns varchar as $$
dbmail$# return args[0]
dbmail$# $$ language plpythonu;
CREATE FUNCTION
dbmail=#
dbmail=# select test('test'); test
------ test
(1 record)

Message parsing with standalone python works too:

$ cat mail.py
import sys
import email.Parser
parser = email.Parser.Parser()
message = parser.parse(sys.stdin)
print message.get("From")
$ python mail.py < mbox
test@mydomain.com

Why can't I use "import email.Parser" in pl/python function?

--
Thanks,
Eugene Prokopiev


В списке pgsql-interfaces по дате отправления:

Предыдущее
От: Edoardo Innocenti
Дата:
Сообщение: ERROR CONNECTION POSTGRES 8.1
Следующее
От: Michael Fuhr
Дата:
Сообщение: Re: pl/pyton: exceptions.ImportError: No module named email.Parser