on master help sign in
Merge pull request #2244 from dalf/fix-drop-python2
66bda23Alexandre Flament
searx/engines/json_engine.py+1−1
@@ -1,4 +1,4 @@
1−from collections import Iterable
1+from collections.abc import Iterable
2from json import loads
2from json import loads
3from urllib.parse import urlencode
3from urllib.parse import urlencode
4from searx.utils import to_string
4from searx.utils import to_string
searx/utils.py+6−3
@@ -3,8 +3,8 @@ import os
3import sys
3import sys
4import re
4import re
5import json
5import json
6+import importlib
6
7
7−from imp import load_source
8from numbers import Number
8from numbers import Number
9from os.path import splitext, join
9from os.path import splitext, join
10from io import open
10from io import open
@@ -445,8 +445,11 @@ def load_module(filename, module_dir):
445 if modname in sys.modules:
445 if modname in sys.modules:
446 del sys.modules[modname]
446 del sys.modules[modname]
447 filepath = join(module_dir, filename)
447 filepath = join(module_dir, filename)
448− module = load_source(modname, filepath)
448+ # and https://docs.python.org/3/library/importlib.html#importing-a-source-file-directly
449− module.name = modname
449+ spec = importlib.util.spec_from_file_location(modname, filepath)
450+ module = importlib.util.module_from_spec(spec)
451+ sys.modules[modname] = module
452+ spec.loader.exec_module(module)
450 return module
453 return module
451
454
452
455