From e1392feda59ed0fdcf10934d57f833c64e99c19a Mon Sep 17 00:00:00 2001
From: Alfredo Moralejo <amoralej@redhat.com>
Date: Thu, 30 Sep 2021 09:39:36 +0200
Subject: [PATCH] Use importlib.resources in python >= 3.7
importlib.resources was added to python standard library since python 3.7
[1]. This patch is implementing conditional to use it instead of the
importlib_resources backport when using python 3.7 or newer.
[1] https://docs.python.org/3/whatsnew/3.7.html
---
setup.cfg | 2 +-
src/saml2/sigver.py | 7 ++++++-
src/saml2/xml/schema/__init__.py | 7 ++++++-
3 files changed, 13 insertions(+), 3 deletions(-)
diff --git a/setup.cfg b/setup.cfg
index e04c5520..41ccdd7f 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -53,7 +53,7 @@ install_requires =
pytz
requests >= 1.0.0
six
- importlib_resources
+ importlib_resources;python_version<'3.7'
xmlschema >= 1.2.1
diff --git a/src/saml2/sigver.py b/src/saml2/sigver.py
index 973d6245..c9c66b13 100644
--- a/src/saml2/sigver.py
+++ b/src/saml2/sigver.py
@@ -9,12 +9,12 @@ import logging
import os
import re
import six
+import sys
from uuid import uuid4 as gen_random_key
from time import mktime
from tempfile import NamedTemporaryFile
from subprocess import Popen
from subprocess import PIPE
-from importlib_resources import path as _resource_path
from OpenSSL import crypto
@@ -59,6 +59,11 @@ from saml2.xmlenc import EncryptedData
from saml2.xml.schema import node_to_schema
from saml2.xml.schema import XMLSchemaError
+# importlib.resources was introduced in python 3.7
+if sys.version_info[:2] >= (3, 7):
+ from importlib.resources import path as _resource_path
+else:
+ from importlib_resources import path as _resource_path
logger = logging.getLogger(__name__)
diff --git a/src/saml2/xml/schema/__init__.py b/src/saml2/xml/schema/__init__.py
index 56e08b1c..ce38b807 100644
--- a/src/saml2/xml/schema/__init__.py
+++ b/src/saml2/xml/schema/__init__.py
@@ -1,10 +1,15 @@
-from importlib_resources import path as _resource_path
+import sys
from xmlschema import XMLSchema as _XMLSchema
from xmlschema.exceptions import XMLSchemaException as XMLSchemaError
import saml2.data.schemas as _data_schemas
+# importlib.resources was introduced in python 3.7
+if sys.version_info[:2] >= (3, 7):
+ from importlib.resources import path as _resource_path
+else:
+ from importlib_resources import path as _resource_path
def _create_xml_schema_validator(source, **kwargs):
kwargs = {
--
2.26.3