[pypy-commit] pypy py3.3: avoid deprecated imp.get_suffixes
pjenvey
noreply at buildbot.pypy.org
Mon Jul 28 01:50:10 CEST 2014
Author: Philip Jenvey <pjenvey at underboss.org>
Branch: py3.3
Changeset: r72585:f27c9e5a772b
Date: 2014-07-27 16:48 -0700
http://bitbucket.org/pypy/pypy/changeset/f27c9e5a772b/
Log: avoid deprecated imp.get_suffixes
diff --git a/lib-python/3/distutils/command/build_ext.py b/lib-python/3/distutils/command/build_ext.py
--- a/lib-python/3/distutils/command/build_ext.py
+++ b/lib-python/3/distutils/command/build_ext.py
@@ -4,7 +4,8 @@
modules (currently limited to C extensions, should accommodate C++
extensions ASAP)."""
-import sys, os, re, imp
+import sys, os, re
+import importlib.machinery
from distutils.core import Command
from distutils.errors import *
from distutils.sysconfig import customize_compiler, get_python_version
@@ -36,9 +37,8 @@
show_compilers()
def _get_c_extension_suffix():
- for ext, mod, typ in imp.get_suffixes():
- if typ == imp.C_EXTENSION:
- return ext
+ suffixes = importlib.machinery.EXTENSION_SUFFIXES
+ return suffixes[0] if suffixes else None
class build_ext(Command):
diff --git a/lib_pypy/_pypy_testcapi.py b/lib_pypy/_pypy_testcapi.py
--- a/lib_pypy/_pypy_testcapi.py
+++ b/lib_pypy/_pypy_testcapi.py
@@ -1,5 +1,6 @@
import os, sys, imp
import tempfile, binascii
+import importlib.machinery
def get_hashed_dir(cfile):
@@ -28,9 +29,8 @@
def _get_c_extension_suffix():
- for ext, mod, typ in imp.get_suffixes():
- if typ == imp.C_EXTENSION:
- return ext
+ suffixes = importlib.machinery.EXTENSION_SUFFIXES
+ return suffixes[0] if suffixes else None
def compile_shared(csource, modulename, output_dir=None):
diff --git a/lib_pypy/cffi/verifier.py b/lib_pypy/cffi/verifier.py
--- a/lib_pypy/cffi/verifier.py
+++ b/lib_pypy/cffi/verifier.py
@@ -1,7 +1,17 @@
-import sys, os, binascii, imp, shutil
+import sys, os, binascii, shutil
from . import __version__
from . import ffiplatform
+if sys.version_info >= (3, 3):
+ import importlib.machinery
+ def extension_suffixes():
+ return importlib.machinery.EXTENSION_SUFFIXES[:]
+else:
+ import imp
+ def extension_suffixes():
+ return [suffix for suffix, _, type in imp.get_suffixes()
+ if type == imp.C_EXTENSION]
+
class Verifier(object):
@@ -222,11 +232,7 @@
pass
def _get_so_suffixes():
- suffixes = []
- for suffix, mode, type in imp.get_suffixes():
- if type == imp.C_EXTENSION:
- suffixes.append(suffix)
-
+ suffixes = extension_suffixes()
if not suffixes:
# bah, no C_EXTENSION available. Occurs on pypy without cpyext
if sys.platform == 'win32':
diff --git a/lib_pypy/pyrepl/module_lister.py b/lib_pypy/pyrepl/module_lister.py
--- a/lib_pypy/pyrepl/module_lister.py
+++ b/lib_pypy/pyrepl/module_lister.py
@@ -40,8 +40,8 @@
return sorted(set(l))
def _make_module_list():
- import imp
- suffs = [x[0] for x in imp.get_suffixes() if x[0] != '.pyc']
+ import importlib.machinery
+ suffs = [x for x in importlib.machinery.all_suffixes() if x != '.pyc']
suffs.sort(reverse=True)
_packages[''] = list(sys.builtin_module_names)
for dir in sys.path:
More information about the pypy-commit
mailing list