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