diff options
author | Matt Chisholm <matt@theory.org> | 2014-04-14 13:54:01 -0400 |
---|---|---|
committer | Matt Chisholm <matt@theory.org> | 2014-04-14 13:58:39 -0400 |
commit | c887d62810e13e3156ac47dfbcfd709a6ac9858f (patch) | |
tree | 6b042ceb3cbc1ae3cdb9b8f969463cb90733f875 | |
parent | f0d71dc2d6027158ab883ddabb83af20996108ba (diff) | |
download | sqlalchemy-c887d62810e13e3156ac47dfbcfd709a6ac9858f.tar.gz |
use importlib.machinery to load modules instead of imp under Python 3.3 and greater
part of #2830
-rw-r--r-- | lib/sqlalchemy/testing/plugin/noseplugin.py | 9 | ||||
-rwxr-xr-x | sqla_nose.py | 8 |
2 files changed, 13 insertions, 4 deletions
diff --git a/lib/sqlalchemy/testing/plugin/noseplugin.py b/lib/sqlalchemy/testing/plugin/noseplugin.py index 18a1178a6..bd38745c0 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 a01e00152..281b729a5 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()]) |