Re: [exim-dev] Announcing: Exim-Python 4.60py1.

Top Page
Delete this message
Reply to this message
Author: David Wilson
Date:  
To: Exim Developers List
Subject: Re: [exim-dev] Announcing: Exim-Python 4.60py1.
Hi Philip & Co.,

I'm back from holiday now, and I am still quite interested in merging
the patch, or at least getting it towards a point where it might be
considered for merging.

I spent about 30 minutes tonight trying to figure out where the Exim
docuemntation sources live, and failed miserably. Are they within the
Exim distribution itself?

I am going to try and empty the wishlist and todo items for the patch in
the coming weeks. Some of this stuff is simple, eg. converting to and
from a dictionary type automatically. Other stuff could prove slightly
controversial, for example providing a 'python' transport that delegated
the task of delivery to a Python function or method.

If the router/lookup/transport/authenticator functionality works like I
hope it will (ie. it will actually be useful for the cases I have in
mind), then I'll try to massage it back to code stability, and then
perhaps start to look at getting it merged upstream.

There is a slowly rising lack of portability of the code - this would be
especially true if I attempted to add threading. Currently, the patch's
only known portability failing is a blind call to vsnprintf().

I am of course, fully receptive to the opinions of the more experienced
developers on this list, especially regarding the router/transport idea.

Cheers,


David.



On Sat, Jan 21, 2006 at 02:52:33AM +0000, David Wilson wrote:

> The patch, along with a prepatched tarball can be downloaded from:
>
>    http://botanicus.net/dw/exim-python.php


> I hope to become more active in developing this patch further. In
> particular, I would shortly like to add the following abilities:
>
> - Pass "key=value" lists in and out of Python functions, converted to
> and from the Python dictionary type automatically.
> - Make available a router, transport, authenticator, and lookup that
> can execute Python code.
> - [Possibly] provide a way to run a Python intepreter as a thread off
> the main Exim process.
> - Document guidelines for creation of Python resources, eg. database
> connections, threads, and file descriptors.
> - Reformat the patch to Exim coding standards.
> - Produce documentation that is merged with the main Exim specification.


-- 
What is being awake if not interpreting our dreams, or dreaming if not
interpreting our wake?
    -- Everything Is Illuminated (Jonathan Safran Foer)