Browse Source

Merge pull request #2244 from dalf/fix-drop-python2

Fix drop python2
Alexandre Flament 4 years ago
parent
commit
66bda23895
2 changed files with 7 additions and 4 deletions
  1. 1 1
      searx/engines/json_engine.py
  2. 6 3
      searx/utils.py

+ 1 - 1
searx/engines/json_engine.py

@@ -1,4 +1,4 @@
-from collections import Iterable
+from collections.abc import Iterable
 from json import loads
 from urllib.parse import urlencode
 from searx.utils import to_string

+ 6 - 3
searx/utils.py

@@ -3,8 +3,8 @@ import os
 import sys
 import re
 import json
+import importlib
 
-from imp import load_source
 from numbers import Number
 from os.path import splitext, join
 from io import open
@@ -445,8 +445,11 @@ def load_module(filename, module_dir):
     if modname in sys.modules:
         del sys.modules[modname]
     filepath = join(module_dir, filename)
-    module = load_source(modname, filepath)
-    module.name = modname
+    # and https://docs.python.org/3/library/importlib.html#importing-a-source-file-directly
+    spec = importlib.util.spec_from_file_location(modname, filepath)
+    module = importlib.util.module_from_spec(spec)
+    sys.modules[modname] = module
+    spec.loader.exec_module(module)
     return module