From bc9385d15cf7a975063754572eb65556a1df9c8a Mon Sep 17 00:00:00 2001 From: Christian Heimes Date: Sep 19 2023 11:46:10 +0000 Subject: Use find_spec() in meta importer The `find_module()` method of meta importers has been deprecated for a long time. Python 3.12 no longer falls back to `find_module()`. See: https://docs.python.org/3.12/whatsnew/3.12.html#removed Related: https://pagure.io/freeipa/issue/9437 Signed-off-by: Christian Heimes Reviewed-By: Alexander Bokovoy --- diff --git a/ipaplatform/_importhook.py b/ipaplatform/_importhook.py index c7b2cc1..3f4a153 100644 --- a/ipaplatform/_importhook.py +++ b/ipaplatform/_importhook.py @@ -21,10 +21,11 @@ class IpaMetaImporter: def __init__(self, platform): self.platform = platform - def find_module(self, fullname, path=None): + def find_spec(self, fullname, path=None, target=None): """Meta importer hook""" if fullname in self.modules: - return self + module = self.load_module(fullname) + return module.__spec__ return None def load_module(self, fullname):