fixed deprecated find_module()

This commit is contained in:
Maxim Devaev 2024-05-13 20:26:10 +03:00
parent e784dc3e70
commit 3d8265e6b9

View File

@ -22,6 +22,7 @@
import pkgutil import pkgutil
import functools import functools
import importlib.util
import importlib.machinery import importlib.machinery
import Xlib.keysymdef import Xlib.keysymdef
@ -87,10 +88,11 @@ def _get_keysyms() -> dict[str, int]:
for (finder, module_name, _) in pkgutil.walk_packages(Xlib.keysymdef.__path__): for (finder, module_name, _) in pkgutil.walk_packages(Xlib.keysymdef.__path__):
if not isinstance(finder, importlib.machinery.FileFinder): if not isinstance(finder, importlib.machinery.FileFinder):
continue continue
loader = finder.find_module(module_name) spec = finder.find_spec(module_name)
if loader is None: if spec is None or spec.loader is None:
continue continue
module = loader.load_module(module_name) module = importlib.util.module_from_spec(spec)
spec.loader.exec_module(module)
for keysym_name in dir(module): for keysym_name in dir(module):
if keysym_name.startswith("XK_"): if keysym_name.startswith("XK_"):
short_name = keysym_name[3:] short_name = keysym_name[3:]