From 0fcfcf924d3e52fd96855c3debbb722da641c834 Mon Sep 17 00:00:00 2001 From: Niklas Hauser Date: Sun, 23 Nov 2025 22:05:48 +0100 Subject: [PATCH] [src] Fix for Python 3.14 deprecations --- modm_devices/pkg.py | 22 +++++----------------- 1 file changed, 5 insertions(+), 17 deletions(-) diff --git a/modm_devices/pkg.py b/modm_devices/pkg.py index 8d876b8e..5f4414f1 100644 --- a/modm_devices/pkg.py +++ b/modm_devices/pkg.py @@ -9,8 +9,7 @@ import os import re -import sys -import pkgutil +import importlib.resources import urllib.request import urllib.parse @@ -28,24 +27,13 @@ def atoi(text): return [atoi(c) for c in re.split(r"([-]?\d+)", key)] + def get_filename(package, resource): """Rewrite of pkgutil.get_data() that return the file path. """ - loader = pkgutil.get_loader(package) - if loader is None or not hasattr(loader, 'get_data'): - return None - mod = sys.modules.get(package) or loader.load_module(package) - if mod is None or not hasattr(mod, '__file__'): - return None - - # Modify the resource name to be compatible with the loader.get_data - # signature - an os.path format "filename" starting with the dirname of - # the package's __file__ - parts = resource.split('/') - parts.insert(0, os.path.dirname(mod.__file__)) - resource_name = os.path.normpath(os.path.join(*parts)) - - return resource_name + package_files = importlib.resources.files(package) + return (package_files / resource).resolve() + CATALOGFILE = get_filename('modm_devices', 'resources/catalog.xml') os.environ['XML_CATALOG_FILES'] = \