summaryrefslogtreecommitdiff
path: root/troveclient/shell.py
diff options
context:
space:
mode:
Diffstat (limited to 'troveclient/shell.py')
-rw-r--r--troveclient/shell.py12
1 files changed, 10 insertions, 2 deletions
diff --git a/troveclient/shell.py b/troveclient/shell.py
index ad41d03..9d1b683 100644
--- a/troveclient/shell.py
+++ b/troveclient/shell.py
@@ -21,7 +21,7 @@ Command-line interface to the OpenStack Trove API.
import argparse
import getpass
import glob
-import imp
+import importlib
import itertools
import logging
import os
@@ -299,6 +299,14 @@ class OpenStackTroveShell(object):
yield name, module
+ def _load_module(self, name, path):
+ module_spec = importlib.spec_from_file_location(
+ name, path
+ )
+ module = importlib.module_from_spec(module_spec)
+ module_spec.loader.exec_module(module)
+ return module
+
def _discover_via_contrib_path(self, version):
module_path = os.path.dirname(os.path.abspath(__file__))
version_str = "v%s" % version.replace('.', '_')
@@ -312,7 +320,7 @@ class OpenStackTroveShell(object):
if name == "__init__":
continue
- module = imp.load_source(name, ext_path)
+ module = self._load_module(name, ext_path)
yield name, module
def _discover_via_entry_points(self):