Commit 9001cde5 authored by Brett Cannon's avatar Brett Cannon

Fix last patch to be backwards-compatible with Python 1.5.2 .

Bumped version micro number.
parent 21beb4c2
...@@ -31,6 +31,7 @@ ...@@ -31,6 +31,7 @@
# Colin Kong, Trent Mick # Colin Kong, Trent Mick
# #
# History: # History:
# 1.0.2 - fix a bug with caching of value for platform()
# 1.0.1 - reformatted to make doc.py happy # 1.0.1 - reformatted to make doc.py happy
# 1.0.0 - reformatted a bit and checked into Python CVS # 1.0.0 - reformatted a bit and checked into Python CVS
# 0.8.0 - added sys.version parser and various new access # 0.8.0 - added sys.version parser and various new access
...@@ -102,7 +103,7 @@ __copyright__ = """ ...@@ -102,7 +103,7 @@ __copyright__ = """
""" """
__version__ = '1.0.1' __version__ = '1.0.2'
import sys,string,os,re import sys,string,os,re
...@@ -1135,8 +1136,10 @@ def python_compiler(): ...@@ -1135,8 +1136,10 @@ def python_compiler():
### The Opus Magnum of platform strings :-) ### The Opus Magnum of platform strings :-)
_platform_cache = {True:None, False:None} _platform_cache_terse = None
_platform_aliased_cache = {True:None, False:None} _platform_cache_not_terse = None
_platform_aliased_cache_terse = None
_platform_aliased_cache_not_terse = None
def platform(aliased=0, terse=0): def platform(aliased=0, terse=0):
...@@ -1157,12 +1160,17 @@ def platform(aliased=0, terse=0): ...@@ -1157,12 +1160,17 @@ def platform(aliased=0, terse=0):
absolute minimum information needed to identify the platform. absolute minimum information needed to identify the platform.
""" """
global _platform_cache,_platform_aliased_cache global _platform_cache_terse, _platform_cache_not_terse
global _platform_aliased_cache_terse, _platform_aliased_cache_not_terse
if not aliased and (_platform_cache[bool(terse)] is not None):
return _platform_cache[bool(terse)] if not aliased and terse and (_platform_cache_terse is not None):
elif _platform_aliased_cache[bool(terse)] is not None: return _platform_cache_terse
return _platform_aliased_cache[bool(terse)] elif not aliased and not terse and (_platform_cache_not_terse is not None):
return _platform_cache_not_terse
elif terse and _platform_aliased_cache_terse is not None:
return _platform_aliased_cache_terse
elif not terse and _platform_aliased_cache_not_terse is not None:
return _platform_aliased_cache_not_terse
# Get uname information and then apply platform specific cosmetics # Get uname information and then apply platform specific cosmetics
# to it... # to it...
...@@ -1218,12 +1226,17 @@ def platform(aliased=0, terse=0): ...@@ -1218,12 +1226,17 @@ def platform(aliased=0, terse=0):
bits,linkage = architecture(sys.executable) bits,linkage = architecture(sys.executable)
platform = _platform(system,release,machine,processor,bits,linkage) platform = _platform(system,release,machine,processor,bits,linkage)
if aliased: if aliased and terse:
_platform_aliased_cache[bool(terse)] = platform _platform_aliased_cache_terse = platform
elif aliased and not terse:
_platform_aliased_cache_not_terse = platform
elif terse: elif terse:
pass pass
else: else:
_platform_cache[bool(terse)] = platform if terse:
_platform_cache_terse = platform
else:
_platform_cache_not_terse = platform
return platform return platform
### Command line interface ### Command line interface
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment