[Python-Dev] Problem in SRE ?
M.-A. Lemburg
mal@lemburg.com
Wed, 07 Nov 2001 16:25:18 +0100
I've just run across a strange problem with SRE. The following
code does not run with the current CVS version -- the program
simply exists without notice even though there doesn't seem
to be an exit() or abort() call in SRE.
Note that sys.version is
'2.2b1+ (#59, Nov 7 2001, 12:57:29) \n[GCC pgcc-2.95.2 19991024
(release)]'
Any ideas ?
--
import sys, re, string
_sys_version_parser = re.compile('([\w.]+)\s*'
'\(#(\d+),\s*([\w ]+),\s*([\w
:]+)\)\s*'
'\[([^\]]+)\]?')
_sys_version_cache = None
def _sys_version():
""" Returns a parsed version of Python's sys.version as tuple
(version, buildno, builddate, compiler) referring to the Python
version, build number, build date/time as string and the
compiler
identification string.
Note that unlike the Python sys.version, the returned value
for the Python version will always include the patchlevel (it
defaults to '.0').
"""
global _sys_version_cache
import sys, re, time
if _sys_version_cache is not None:
return _sys_version_cache
print sys.version
version, buildno, builddate, buildtime, compiler = \
_sys_version_parser.match(sys.version).groups()
buildno = int(buildno)
builddate = builddate + ' ' + buildtime
l = string.split(version, '.')
if len(l) == 2:
l.append('0')
version = string.join(l, '.')
_sys_version_cache = (version, buildno, builddate, compiler)
return _sys_version_cache
--
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Consulting & Company: http://www.egenix.com/
Python Software: http://www.lemburg.com/python/