From f3d54ed0aed29caf0962e7948d3764dc292f8847 Mon Sep 17 00:00:00 2001 From: Dominik George <dominik.george@teckids.org> Date: Thu, 27 May 2021 01:24:13 +0200 Subject: [PATCH] Use importlib instead of pkg_resources to discover dist --- aleksis/core/__init__.py | 4 ++-- aleksis/core/util/apps.py | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/aleksis/core/__init__.py b/aleksis/core/__init__.py index 0cce3caca..79928246f 100644 --- a/aleksis/core/__init__.py +++ b/aleksis/core/__init__.py @@ -1,4 +1,4 @@ -import pkg_resources +from importlib import metadata try: from .celery import app as celery_app @@ -7,7 +7,7 @@ except ModuleNotFoundError: celery_app = None try: - __version__ = pkg_resources.get_distribution("AlekSIS-Core").version + __version__ = metadata.distribution("AlekSIS-Core").version except Exception: __version__ = "unknown" diff --git a/aleksis/core/util/apps.py b/aleksis/core/util/apps.py index 80da35464..dad5878ca 100644 --- a/aleksis/core/util/apps.py +++ b/aleksis/core/util/apps.py @@ -1,3 +1,4 @@ +from importlib import metadata from typing import Any, Optional, Sequence import django.apps @@ -5,7 +6,6 @@ from django.contrib.auth.signals import user_logged_in, user_logged_out from django.db.models.signals import post_migrate, pre_migrate from django.http import HttpRequest -import pkg_resources from dynamic_preferences.signals import preference_updated from license_expression import Licensing from spdx_license_list import LICENSES @@ -32,7 +32,7 @@ class AppConfig(django.apps.AppConfig): self.preference_updated(self) def get_distribution_name(self): - """Get pkg_resources distribution name of application package.""" + """Get distribution name of application package.""" if hasattr(self, "dist_name"): return self.dist_name elif self.name.lower().startswith("aleksis.apps."): @@ -41,12 +41,12 @@ class AppConfig(django.apps.AppConfig): return None def get_distribution(self): - """Get pkg_resources distribution of application package.""" + """Get distribution of application package.""" dist_name = self.get_distribution_name() if dist_name: try: - dist = pkg_resources.get_distribution(dist_name) - except pkg_resources.DistributionNotFound: + dist = metadata.distribution(dist_name) + except PackageNotFoundError: return None return dist -- GitLab