]> code.ossystems Code Review - openembedded-core.git/commitdiff
scripts: Remove deprecated imp module usage
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 15 Nov 2018 15:04:02 +0000 (15:04 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sat, 27 Jul 2019 19:12:19 +0000 (20:12 +0100)
The imp module is deprecated, port the code over to use importlib
as recently done for bb.utils as well.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
scripts/lib/scriptutils.py
scripts/pythondeps

index 31e48ea4dc10480a7e8a35889676cad5d42fbd58..3c60c3a1e6c649124a954d5b2c9b7ebebd6b9f46 100644 (file)
@@ -26,6 +26,8 @@ import string
 import subprocess
 import sys
 import tempfile
+import importlib
+from importlib import machinery
 
 def logger_create(name, stream=None):
     logger = logging.getLogger(name)
@@ -50,12 +52,9 @@ def load_plugins(logger, plugins, pluginpath):
 
     def load_plugin(name):
         logger.debug('Loading plugin %s' % name)
-        fp, pathname, description = imp.find_module(name, [pluginpath])
-        try:
-            return imp.load_module(name, fp, pathname, description)
-        finally:
-            if fp:
-                fp.close()
+        spec = importlib.machinery.PathFinder.find_spec(name, path=[pluginpath] )
+        if spec:
+            return spec.loader.load_module()
 
     def plugin_name(filename):
         return os.path.splitext(os.path.basename(filename))[0]
index 590b9769e7896ea186af93af5ee3a413d55edcb4..3e13a587eefc1a8a2dde34048f6762df47e058e8 100755 (executable)
@@ -9,7 +9,8 @@
 
 import argparse
 import ast
-import imp
+import importlib
+from importlib import machinery
 import logging
 import os.path
 import sys
@@ -17,10 +18,7 @@ import sys
 
 logger = logging.getLogger('pythondeps')
 
-suffixes = []
-for triple in imp.get_suffixes():
-    suffixes.append(triple[0])
-
+suffixes = importlib.machinery.all_suffixes()
 
 class PythonDepError(Exception):
     pass