[Python-checkins] distutils2: Provide replacement for platform.python_implementation for 2.4 and 2.5
eric.araujo
python-checkins at python.org
Mon Sep 19 15:12:39 CEST 2011
http://hg.python.org/distutils2/rev/bd7bfeab5db1
changeset: 1154:bd7bfeab5db1
user: Éric Araujo <merwok at netwok.org>
date: Sun Sep 18 23:31:36 2011 +0200
summary:
Provide replacement for platform.python_implementation for 2.4 and 2.5
files:
distutils2/compat.py | 13 +++++++++++++
distutils2/markers.py | 13 +++++--------
distutils2/tests/test_markers.py | 6 ++----
3 files changed, 20 insertions(+), 12 deletions(-)
diff --git a/distutils2/compat.py b/distutils2/compat.py
--- a/distutils2/compat.py
+++ b/distutils2/compat.py
@@ -4,6 +4,7 @@
Python 3.2, for internal use only. Whole modules are in _backport.
"""
+import os
import re
import sys
import codecs
@@ -178,3 +179,15 @@
def wrapped(func):
return func
return wrapped
+
+try:
+ from platform import python_implementation
+except ImportError:
+ def python_implementation():
+ if 'PyPy' in sys.version:
+ return 'PyPy'
+ if os.name == 'java':
+ return 'Jython'
+ if sys.version.startswith('IronPython'):
+ return 'IronPython'
+ return 'CPython'
diff --git a/distutils2/markers.py b/distutils2/markers.py
--- a/distutils2/markers.py
+++ b/distutils2/markers.py
@@ -1,16 +1,12 @@
"""Parser for the environment markers micro-language defined in PEP 345."""
+import os
import sys
import platform
-import os
-
from tokenize import generate_tokens, NAME, OP, STRING, ENDMARKER
from StringIO import StringIO as BytesIO
-try:
- python_implementation = platform.python_implementation()
-except AttributeError:
- # FIXME import from compat
- python_implementation = 'CPython'
+
+from distutils2.compat import python_implementation
__all__ = ['interpret']
@@ -37,7 +33,8 @@
'os.name': os.name,
'platform.version': platform.version(),
'platform.machine': platform.machine(),
- 'platform.python_implementation': python_implementation}
+ 'platform.python_implementation': python_implementation(),
+ }
class _Operation(object):
diff --git a/distutils2/tests/test_markers.py b/distutils2/tests/test_markers.py
--- a/distutils2/tests/test_markers.py
+++ b/distutils2/tests/test_markers.py
@@ -2,6 +2,7 @@
import os
import sys
import platform
+from distutils2.compat import python_implementation
from distutils2.markers import interpret
from distutils2.tests import unittest
@@ -17,10 +18,7 @@
os_name = os.name
platform_version = platform.version()
platform_machine = platform.machine()
- try:
- platform_python_implementation = platform.python_implementation()
- except AttributeError: # FIXME import from compat
- platform_python_implementation = 'CPython'
+ platform_python_implementation = python_implementation()
self.assertTrue(interpret("sys.platform == '%s'" % sys_platform))
self.assertTrue(interpret(
--
Repository URL: http://hg.python.org/distutils2
More information about the Python-checkins
mailing list