74 lines
2.7 KiB
Diff
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
|
|
|