summaryrefslogtreecommitdiff
path: root/Lib/platform.py
diff options
context:
space:
mode:
authorBenjamin Peterson <benjamin@python.org>2009-03-26 19:09:21 +0000
committerBenjamin Peterson <benjamin@python.org>2009-03-26 19:09:21 +0000
commit0ad9b7727d172fc772a5499da37efcc9385ed7b0 (patch)
treee055387b51692e3b1a477f01eee55a5d5f983e96 /Lib/platform.py
parent94e4e2a7e583471627d76a2f3b2886c9064b7420 (diff)
downloadcpython-git-0ad9b7727d172fc772a5499da37efcc9385ed7b0.tar.gz
add support for PyPy
Diffstat (limited to 'Lib/platform.py')
-rwxr-xr-xLib/platform.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/Lib/platform.py b/Lib/platform.py
index 7863821cce..7a6f339147 100755
--- a/Lib/platform.py
+++ b/Lib/platform.py
@@ -1270,6 +1270,11 @@ _ironpython_sys_version_parser = re.compile(
'(?: \(([\d\.]+)\))?'
' on (.NET [\d\.]+)')
+_pypy_sys_version_parser = re.compile(
+ r'([\w.+]+)\s*'
+ '\(#?([^,]+),\s*([\w ]+),\s*([\w :]+)\)\s*'
+ '\[PyPy [^\]]+\]?')
+
_sys_version_cache = {}
def _sys_version(sys_version=None):
@@ -1325,6 +1330,16 @@ def _sys_version(sys_version=None):
version, buildno, builddate, buildtime, _ = match.groups()
compiler = sys.platform
+ elif "PyPy" in sys_version:
+ # PyPy
+ name = "PyPy"
+ match = _pypy_sys_version_parser.match(sys_version)
+ if match is None:
+ raise ValueError("failed to parse PyPy sys.version: %s" %
+ repr(sys_version))
+ version, buildno, builddate, buildtime = match.groups()
+ compiler = ""
+
else:
# CPython
match = _sys_version_parser.match(sys_version)