SwordArMor-gentoo-overlay/net-mail/mailman/files/mailman-3.3.4-py3.9-importl...

74 lines
2.7 KiB
Diff

From 0eced2d273535577645493340c7319ebf27a559c Mon Sep 17 00:00:00 2001
From: Neal Gompa <ngompa13@gmail.com>
Date: Fri, 16 Oct 2020 03:47:38 -0400
Subject: [PATCH] Use importlib.resources for Python 3.9+ and
importlib_resources otherwise
This makes it possible to use Mailman 3 in environments where importlib_resources
is not available.
Signed-off-by: Neal Gompa <ngompa13@gmail.com>
---
setup.py | 2 +-
src/mailman/__init__.py | 5 +++++
src/mailman/testing/__init__.py | 23 +++++++++++++++++++++++
3 files changed, 29 insertions(+), 1 deletion(-)
diff --git a/setup.py b/setup.py
index cd3645611..6d871fbfd 100644
--- a/setup.py
+++ b/setup.py
@@ -121,7 +121,7 @@ case second 'm'. Any other spelling is incorrect.""",
'flufl.bounce',
'flufl.i18n>=2.0',
'flufl.lock>=3.1',
- 'importlib_resources>=1.1.0',
+ 'importlib_resources>=1.1.0 ; python_version<"3.9"',
'gunicorn',
'lazr.config',
'python-dateutil>=2.0',
diff --git a/src/mailman/__init__.py b/src/mailman/__init__.py
index 2d94288e0..1c760008d 100644
--- a/src/mailman/__init__.py
+++ b/src/mailman/__init__.py
@@ -37,3 +37,8 @@ if 'build_sphinx' not in sys.argv: # pragma: nocover
else:
from mailman.core.i18n import initialize
initialize()
+
+# Switch over to the internal importlib.resources module on Python 3.9+
+if sys.version_info >= (3, 9, 0):
+ import importlib.resources
+ sys.modules['importlib_resources'] = importlib.resources
diff --git a/src/mailman/testing/__init__.py b/src/mailman/testing/__init__.py
index e69de29bb..2b2ed536a 100644
--- a/src/mailman/testing/__init__.py
+++ b/src/mailman/testing/__init__.py
@@ -0,0 +1,23 @@
+# Copyright (C) 2009-2020 by the Free Software Foundation, Inc.
+#
+# This file is part of GNU Mailman.
+#
+# GNU Mailman is free software: you can redistribute it and/or modify it under
+# the terms of the GNU General Public License as published by the Free
+# Software Foundation, either version 3 of the License, or (at your option)
+# any later version.
+#
+# GNU Mailman is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+# more details.
+#
+# You should have received a copy of the GNU General Public License along with
+# GNU Mailman. If not, see <https://www.gnu.org/licenses/>.
+
+import sys
+
+# Switch over to the internal importlib.resources module on Python 3.9+
+if sys.version_info >= (3, 9, 0):
+ import importlib.resources
+ sys.modules['importlib_resources'] = importlib.resources
--
GitLab