summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
authorBrett Cannon <brett@python.org>2012-04-29 16:50:03 (GMT)
committerBrett Cannon <brett@python.org>2012-04-29 16:50:03 (GMT)
commitacf85cd1314e498b1736677a1e08cfddc956c4ac (patch)
treedfd63a6562c931a4d02770927a589f4b41c35ebb /Lib
parente383e82e0484aed79f2c78516e3f223345408d4b (diff)
downloadcpython-acf85cd1314e498b1736677a1e08cfddc956c4ac.zip
cpython-acf85cd1314e498b1736677a1e08cfddc956c4ac.tar.gz
cpython-acf85cd1314e498b1736677a1e08cfddc956c4ac.tar.bz2
Issue #13959: Re-implement imp.NullImporter in Lib/imp.py.
Diffstat (limited to 'Lib')
-rw-r--r--Lib/imp.py17
-rw-r--r--Lib/test/test_sys.py3
2 files changed, 15 insertions, 5 deletions
diff --git a/Lib/imp.py b/Lib/imp.py
index 0388d08..2abd7af 100644
--- a/Lib/imp.py
+++ b/Lib/imp.py
@@ -14,8 +14,6 @@ from _imp import (lock_held, acquire_lock, release_lock, reload,
from _imp import get_magic, get_tag
# Can (probably) move to importlib
from _imp import get_suffixes
-# Should be re-implemented here (and mostly deprecated)
-from _imp import NullImporter
from importlib._bootstrap import _new_module as new_module
from importlib._bootstrap import _cache_from_source as cache_from_source
@@ -60,6 +58,21 @@ def source_from_cache(path):
return os.path.join(head, base_filename + _bootstrap.SOURCE_SUFFIXES[0])
+class NullImporter:
+
+ """Null import object."""
+
+ def __init__(self, path):
+ if path == '':
+ raise ImportError('empty pathname', path='')
+ elif os.path.isdir(path):
+ raise ImportError('existing directory', path=path)
+
+ def find_module(self, fullname):
+ """Always returns None."""
+ return None
+
+
class _HackedGetData:
"""Compatibiilty support for 'file' arguments of various load_*()
diff --git a/Lib/test/test_sys.py b/Lib/test/test_sys.py
index 0f93610..2b9abfc 100644
--- a/Lib/test/test_sys.py
+++ b/Lib/test/test_sys.py
@@ -889,9 +889,6 @@ class SizeofTest(unittest.TestCase):
# _ast.AST
import _ast
check(_ast.AST(), size(h + 'P'))
- # imp.NullImporter
- import imp
- check(imp.NullImporter(self.file.name), size(h + ''))
try:
raise TypeError
except TypeError: