ietf-clear
[Top] [All Lists]

[clear] Python packages for email authentication

2005-08-23 11:26:25
At 11:37 AM 8/23/2005 +0100, David Wilson wrote:

Richard Kay wrote:

0.3x is a version in transition from .3 to .4. I think its OK, because it was *after* I changed the name from pyCSV.py to csv.py, but you may want to download version 0.4 just to be sure. http://purl.net/macquigg/email/python

Have done this. Comparing the version linked from this page ( 0.3x ) to the .4 version (csv.py) on:

The name csv.py conflicts with the Comma Separated File module present in Python 2.3 and upwards. This means that a program can't use both modules unless it artificially places your csv.py in a package directory so that it doesn't exist on the 'primary' module path:

        import csv

When csv.py is in the current working directory, or the package directory for the currently executing module, it will always shadow the stdlib's csv.py.

The only way I can see around this is renaming, or creating a dummy package (and dummy __init__.py), and placing csv.py within that. eg:

        import dummy.csv as csv


Might I suggest you create a package called "CLEAR" or "clear", and distribute csv.py as part of that? It would then natural for a BATV implementation to live inside that as batv.py. eg:

        from clear import csv, batv
        from clear.csv import *

I've created two packages, one for Linux, one for Windows, which should avoid the name conflicts. http://purl.net/macquigg/email/python email_auth(.tgz, .zip) These packages contain two modules (csv.py and spf.py). I think 'email_auth' might be a more neutral name than 'clear' (unless CLEAR wants to broaden its mission).

Unzip (or un-tar) the appropriate package, copy the email_auth directory to a directory on your Python sys.path, and you should be able to use these modules with statements like:

    # Authentication methods available at this site:
    from email_auth import spf
            # SPF1 from sourceforge.net/projects/pymilter - milter-0.8.2
    from email_auth import csv  # based on spec from mipassoc.org/csv
    ##import sid  # SenderID from Microsoft
    # Methods that require transfer of DATA:
    ##import dkim # from Yahoo/Cisco

Having avoided name conflicts with other modules, we can now call the csa function from the csv module like this:

    result, SMTP_reply = csv.csa(IP, HELO)


The checkID() module has not yet been added to the package, as it needs a little more testing.

--
Dave
************************************************************     *
* David MacQuigg, PhD     email: david_macquigg at yahoo.com     *  *
* IC Design Engineer            phone:  USA 520-721-4583      *  *  *
* Analog Design Methodologies                                 *  *  *
*                                 9320 East Mikelyn Lane       * * *
* VRS Consulting, P.C.            Tucson, Arizona 85710          *
************************************************************     *


_______________________________________________
ietf-clear mailing list
ietf-clear(_at_)mipassoc(_dot_)org
http://mipassoc.org/mailman/listinfo/ietf-clear

<Prev in Thread] Current Thread [Next in Thread>