[mod_python] Getting mod_python version

Michael C. Neel neel at mediapulse.com
Tue Dec 2 14:30:41 EST 2003


Most modules have a __version__ member, and the help() built-in method
even looks for this variable and uses it to display the version of the
file:

>>>import cgi
>>>cgi.__version__
'2.6'
>>>help(cgi)
...skipping...
DATA
    __all__ = ['MiniFieldStorage', 'FieldStorage', 'FormContentDict',
'SvF...
    __version__ = '2.6'
    logfile = ''
    logfp = None
    maxlen = 0

VERSION
    2.6

>>>

I have not read or seen anything saying the "pythonic" way of versioning
a module is by try/except blocks testing to see if variable exist.  I
have however seen this from PEP 8:

Version Bookkeeping

    If you have to have RCS or CVS crud in your source file, do it as
    follows.

        __version__ = "$Revision: 1.20 $"
        # $Source: /cvsroot/python/python/nondist/peps/pep-0008.txt,v $

    These lines should be included after the module's docstring,
    before any other code, separated by a blank line above and
    below.

Which implies to me that __version__ is a pythonic way of versioning a
module/code file, though it doesn't seem to be as standard as __doc__.

Mike

> -----Original Message-----
> From: Gustavo Córdova Avila [mailto:gustavo.cordova at q-voz.com] 
> Sent: Tuesday, December 02, 2003 1:47 PM
> To: Michael C. Neel
> Cc: mod_python at modpython.org
> Subject: Re: [mod_python] Getting mod_python version
> 
> 
> This is the correct, "pythonic" way of doing things.
> 
> I'd recommend using "except AttributeError:" instead of a naked 
> "except:" btw.
> 
> -gustavo
> 
> Michael C. Neel wrote:
> 
> >Hi all,
> >
> >	I don't know if it's not there, or I'm just overlooking it, but
> >I can seem for a way in code to get the version of 
> mod_python.  I have
> >some "default" modules I use, and I am trying to make them 
> work with any
> >mod_python version.  Right now I'm doing try block, like such:
> >
> >    # Get username/password from client
> >    pw = req.get_basic_auth_pw()
> >    try:
> >        # mod_python 2.x
> >        user = req.connection.user
> >    except:
> >        # mod_python 3.x
> >        user = req.user
> >
> >	...but I'd rather be able to get the version directly.
> >
> >Mike
> >
> >_______________________________________________
> >Mod_python mailing list
> >Mod_python at modpython.org
> >http://mailman.modpython.org/mailman/listinfo/mod_python
> >
> >
> >  
> >
> 
> 



More information about the Mod_python mailing list