From: Matt Chisholm Date: Mon, 14 Apr 2014 17:54:01 +0000 (-0400) Subject: use importlib.machinery to load modules instead of imp under Python 3.3 and greater X-Git-Tag: rel_0_9_5~78^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c887d62810e13e3156ac47dfbcfd709a6ac9858f;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git use importlib.machinery to load modules instead of imp under Python 3.3 and greater part of #2830 --- diff --git a/lib/sqlalchemy/testing/plugin/noseplugin.py b/lib/sqlalchemy/testing/plugin/noseplugin.py index 18a1178a60..bd38745c0f 100644 --- a/lib/sqlalchemy/testing/plugin/noseplugin.py +++ b/lib/sqlalchemy/testing/plugin/noseplugin.py @@ -12,15 +12,20 @@ way (e.g. as a package-less import). """ import os +import sys from nose.plugins import Plugin fixtures = None # no package imports yet! this prevents us from tripping coverage # too soon. -import imp path = os.path.join(os.path.dirname(__file__), "plugin_base.py") -plugin_base = imp.load_source("plugin_base", path) +if sys.version_info >= (3,3): + from importlib import machinery + plugin_base = machinery.SourceFileLoader("plugin_base", path).load_module() +else: + import imp + plugin_base = imp.load_source("plugin_base", path) class NoseSQLAlchemy(Plugin): diff --git a/sqla_nose.py b/sqla_nose.py index a01e00152c..281b729a5f 100755 --- a/sqla_nose.py +++ b/sqla_nose.py @@ -7,7 +7,6 @@ installs SQLAlchemy's testing plugin into the local environment. """ import sys -import imp import nose import warnings @@ -19,7 +18,12 @@ for pth in ['./lib']: # installing without importing SQLAlchemy, so that coverage includes # SQLAlchemy itself. path = "lib/sqlalchemy/testing/plugin/noseplugin.py" -noseplugin = imp.load_source("noseplugin", path) +if sys.version_info >= (3,3): + from importlib import machinery + noseplugin = machinery.SourceFileLoader("noseplugin", path).load_module() +else: + import imp + noseplugin = imp.load_source("noseplugin", path) nose.main(addplugins=[noseplugin.NoseSQLAlchemy()])