pl/pyton: exceptions.ImportError: No module named email.Parser - Mailing list pgsql-interfaces

From Eugene Prokopiev
Subject pl/pyton: exceptions.ImportError: No module named email.Parser
Date
Msg-id 4389CDF2.6020805@stc.donpac.ru
Whole thread Raw
Responses Re: pl/pyton: exceptions.ImportError: No module named email.Parser
List 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 by date:

Previous
From: Edoardo Innocenti
Date:
Subject: ERROR CONNECTION POSTGRES 8.1
Next
From: Michael Fuhr
Date:
Subject: Re: pl/pyton: exceptions.ImportError: No module named email.Parser