Commit 498414b8 authored by Jason R. Coombs's avatar Jason R. Coombs

Remove use of deprecated imp module, avoiding deprecation warnings.

parent 42c62a7a
...@@ -21,7 +21,8 @@ import os ...@@ -21,7 +21,8 @@ import os
import io import io
import time import time
import re import re
import imp import _imp
import types
import zipfile import zipfile
import zipimport import zipimport
import warnings import warnings
...@@ -2163,7 +2164,7 @@ def _handle_ns(packageName, path_item): ...@@ -2163,7 +2164,7 @@ def _handle_ns(packageName, path_item):
return None return None
module = sys.modules.get(packageName) module = sys.modules.get(packageName)
if module is None: if module is None:
module = sys.modules[packageName] = imp.new_module(packageName) module = sys.modules[packageName] = types.ModuleType(packageName)
module.__path__ = [] module.__path__ = []
_set_parent_ns(packageName) _set_parent_ns(packageName)
elif not hasattr(module,'__path__'): elif not hasattr(module,'__path__'):
...@@ -2182,7 +2183,7 @@ def _handle_ns(packageName, path_item): ...@@ -2182,7 +2183,7 @@ def _handle_ns(packageName, path_item):
def declare_namespace(packageName): def declare_namespace(packageName):
"""Declare that package 'packageName' is a namespace package""" """Declare that package 'packageName' is a namespace package"""
imp.acquire_lock() _imp.acquire_lock()
try: try:
if packageName in _namespace_packages: if packageName in _namespace_packages:
return return
...@@ -2209,18 +2210,18 @@ def declare_namespace(packageName): ...@@ -2209,18 +2210,18 @@ def declare_namespace(packageName):
_handle_ns(packageName, path_item) _handle_ns(packageName, path_item)
finally: finally:
imp.release_lock() _imp.release_lock()
def fixup_namespace_packages(path_item, parent=None): def fixup_namespace_packages(path_item, parent=None):
"""Ensure that previously-declared namespace packages include path_item""" """Ensure that previously-declared namespace packages include path_item"""
imp.acquire_lock() _imp.acquire_lock()
try: try:
for package in _namespace_packages.get(parent,()): for package in _namespace_packages.get(parent,()):
subpath = _handle_ns(package, path_item) subpath = _handle_ns(package, path_item)
if subpath: if subpath:
fixup_namespace_packages(subpath, package) fixup_namespace_packages(subpath, package)
finally: finally:
imp.release_lock() _imp.release_lock()
def file_ns_handler(importer, path_item, packageName, module): def file_ns_handler(importer, path_item, packageName, module):
"""Compute an ns-package subpath for a filesystem or zipfile importer""" """Compute an ns-package subpath for a filesystem or zipfile importer"""
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment