From 8b58a7a0cbf94b4f8cda9d2ea64f794df530c9f9 Mon Sep 17 00:00:00 2001 From: Tero Vuotila Date: Wed, 17 Apr 2024 11:58:06 +0300 Subject: [PATCH 1/3] Exclude the test file from distribution --- MANIFEST.in | 1 + 1 file changed, 1 insertion(+) create mode 100644 MANIFEST.in diff --git a/MANIFEST.in b/MANIFEST.in new file mode 100644 index 0000000..66d7f5b --- /dev/null +++ b/MANIFEST.in @@ -0,0 +1 @@ +exclude flask_talisman/talisman_test.py From 24c4a093f604d0b8d7de428501d963b535cbeae1 Mon Sep 17 00:00:00 2001 From: Tero Vuotila Date: Wed, 17 Apr 2024 12:02:27 +0300 Subject: [PATCH 2/3] Set minimum supported Python version to 3.7 --- setup.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/setup.py b/setup.py index 1be7b76..e8dde8b 100644 --- a/setup.py +++ b/setup.py @@ -45,11 +45,11 @@ 'Programming Language :: Python', 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.5', - 'Programming Language :: Python :: 3.6', 'Programming Language :: Python :: 3.7', 'Programming Language :: Python :: 3.8', 'Programming Language :: Python :: 3.9', + 'Programming Language :: Python :: 3.10', + 'Programming Language :: Python :: 3.11', 'Operating System :: POSIX', 'Operating System :: MacOS', @@ -60,4 +60,5 @@ packages=['flask_talisman'], install_requires=[], + python_requires=">=3.7", ) From d0a2826fd8c29ca5d7beb19ca1f4b7f319ac6760 Mon Sep 17 00:00:00 2001 From: Tero Vuotila Date: Wed, 17 Apr 2024 12:02:51 +0300 Subject: [PATCH 3/3] Replace OrderedDict with dict Dict is insertion-order preserving since 3.7 https://docs.python.org/3/whatsnew/3.7.html --- flask_talisman/talisman.py | 26 +++++--------------------- 1 file changed, 5 insertions(+), 21 deletions(-) diff --git a/flask_talisman/talisman.py b/flask_talisman/talisman.py index 3911da9..80c8ed2 100644 --- a/flask_talisman/talisman.py +++ b/flask_talisman/talisman.py @@ -11,8 +11,6 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. -from collections import OrderedDict - import flask @@ -143,20 +141,9 @@ def init_app( See README.rst for a detailed description of each option. """ - if isinstance(feature_policy, dict): - self.feature_policy = OrderedDict(feature_policy) - else: - self.feature_policy = feature_policy - - if isinstance(permissions_policy, dict): - self.permissions_policy = OrderedDict(permissions_policy) - else: - self.permissions_policy = permissions_policy - - if isinstance(document_policy, dict): - self.document_policy = OrderedDict(document_policy) - else: - self.document_policy = document_policy + self.feature_policy = feature_policy + self.permissions_policy = permissions_policy + self.document_policy = document_policy self.force_https = force_https self.force_https_permanent = force_https_permanent @@ -172,10 +159,7 @@ def init_app( self.strict_transport_security_include_subdomains = \ strict_transport_security_include_subdomains - if isinstance(content_security_policy, dict): - self.content_security_policy = OrderedDict(content_security_policy) - else: - self.content_security_policy = content_security_policy + self.content_security_policy = content_security_policy self.content_security_policy_report_uri = \ content_security_policy_report_uri self.content_security_policy_report_only = \ @@ -307,7 +291,7 @@ def _parse_policy(self, policy): if isinstance(policy, str): # parse the string into a policy dict policy_string = policy - policy = OrderedDict() + policy = {} for policy_part in policy_string.split(';'): policy_parts = policy_part.strip().split(' ')