X-Original-To: pgsql-interfaces-postgresql.org@localhost.postgresql.org Received: from localhost (av.hub.org [200.46.204.144]) by svr1.postgresql.org (Postfix) with ESMTP id B4B90DC8AC for ; Sun, 27 Nov 2005 14:56:11 -0400 (AST) Received: from svr1.postgresql.org ([200.46.204.71]) by localhost (av.hub.org [200.46.204.144]) (amavisd-new, port 10024) with ESMTP id 08536-09-2 for ; Sun, 27 Nov 2005 14:56:09 -0400 (AST) X-Greylist: delayed 02:10:53.613852 by SQLgrey- Received: from svr2.postgresql.org (svr2.postgresql.org [65.19.161.25]) by svr1.postgresql.org (Postfix) with ESMTP id 2C4BBDC774 for ; Sun, 27 Nov 2005 13:27:50 -0400 (AST) Received: from athlon.ewsd.donpac.ru (bercut.donpac.ru [80.254.111.197]) by svr2.postgresql.org (Postfix) with ESMTP id EA9A0F0AC8 for ; Sun, 27 Nov 2005 15:16:57 +0000 (GMT) Received: from [127.0.0.1] (localhost.localdomain [127.0.0.1]) by athlon.ewsd.donpac.ru (Postfix) with ESMTP id 81F5C176FB for ; Sun, 27 Nov 2005 18:17:06 +0300 (MSK) Message-ID: <4389CDF2.6020805@stc.donpac.ru> Date: Sun, 27 Nov 2005 18:17:06 +0300 From: Eugene Prokopiev User-Agent: Mozilla/5.0 (X11; U; Linux i686; ru-RU; rv:1.7.2) Gecko/20040808 X-Accept-Language: ru-ru, ru MIME-Version: 1.0 To: pgsql-interfaces@postgresql.org Subject: pl/pyton: exceptions.ImportError: No module named email.Parser Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Scanned: by amavisd-new at hub.org X-Spam-Status: No, score=0 required=5 tests=[none] X-Spam-Score: 0 X-Spam-Level: X-Archive-Number: 200511/64 X-Sequence-Number: 5860 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