From 83b1feb4f82d637b476feeeda857ed91e6d4ae66 Mon Sep 17 00:00:00 2001 From: Philippe Normand Date: Tue, 16 Apr 2024 13:11:02 +0100 Subject: [PATCH] debug-viewer: Fix plugin loading machinery The previous code was failing at least with Python 3.11 and Python 3.12. Part-of: --- .../debug-viewer/GstDebugViewer/Plugins/__init__.py | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/subprojects/gst-devtools/debug-viewer/GstDebugViewer/Plugins/__init__.py b/subprojects/gst-devtools/debug-viewer/GstDebugViewer/Plugins/__init__.py index 22660606d5..2d219f9a50 100644 --- a/subprojects/gst-devtools/debug-viewer/GstDebugViewer/Plugins/__init__.py +++ b/subprojects/gst-devtools/debug-viewer/GstDebugViewer/Plugins/__init__.py @@ -41,22 +41,18 @@ def _load_plugins(path): import glob files = glob.glob(os.path.join(path, "*.py")) - for filename in files: name = os.path.basename(os.path.splitext(filename)[0]) if name == "__init__": continue - finder = importlib.machinery.PathFinder() - spec = finder.find_spec( - name, - os.environ.get('_GI_OVERRIDES_PATH', '').split(os.pathsep) - ) + loader = importlib.machinery.SourceFileLoader(name, filename) + spec = importlib.util.spec_from_file_location(name, filename, loader=loader) if spec is None: raise ModuleNotFoundError(name) module = importlib.util.module_from_spec(spec) - + loader.exec_module(module) yield module