From 2158dd7a543cd263cd0cca9131b58009a02e541f5a79a6c026dee014205ca079 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Schr=C3=B6ter?= Date: Fri, 13 Dec 2024 10:47:40 +0100 Subject: [PATCH] Sync from SUSE:SLFO:Main python-FormEncode revision 35ff4a7643073dec747b4a7959e02b71 --- FormEncode-2.0.1.tar.gz | 3 -- FormEncode-2.1.0.tar.gz | 3 ++ do-not-always-use-cgi-module.patch | 56 ++++++++++++++++++++++++++++++ python-FormEncode.changes | 32 ++++++++++++++++- python-FormEncode.spec | 32 +++++++---------- 5 files changed, 102 insertions(+), 24 deletions(-) delete mode 100644 FormEncode-2.0.1.tar.gz create mode 100644 FormEncode-2.1.0.tar.gz create mode 100644 do-not-always-use-cgi-module.patch diff --git a/FormEncode-2.0.1.tar.gz b/FormEncode-2.0.1.tar.gz deleted file mode 100644 index aa5f1ff..0000000 --- a/FormEncode-2.0.1.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8f2974112c2557839d5bae8b76490104c03830785d923abbdef148bf3f710035 -size 256130 diff --git a/FormEncode-2.1.0.tar.gz b/FormEncode-2.1.0.tar.gz new file mode 100644 index 0000000..407f2d4 --- /dev/null +++ b/FormEncode-2.1.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eb74d223078a28cf015fa88966c6e34f2d18d75127318d65c144bed9afc4263f +size 277757 diff --git a/do-not-always-use-cgi-module.patch b/do-not-always-use-cgi-module.patch new file mode 100644 index 0000000..8da80e4 --- /dev/null +++ b/do-not-always-use-cgi-module.patch @@ -0,0 +1,56 @@ +From 77053ce944c11b1bae67cee387275e9f36d8d049 Mon Sep 17 00:00:00 2001 +From: Oleg Broytman +Date: Fri, 10 Nov 2023 18:17:15 +0300 +Subject: [PATCH] Protect `import cgi` + +Module `cgi` was declared obsolete in Python 3.11 +and will be removed in 3.13. + +Fixes: #175. +--- + src/formencode/validators.py | 11 +++++++---- + 1 file changed, 7 insertions(+), 4 deletions(-) + +diff --git a/src/formencode/validators.py b/src/formencode/validators.py +index f2011b4..6f272b7 100644 +--- a/src/formencode/validators.py ++++ b/src/formencode/validators.py +@@ -5,7 +5,10 @@ + Validator/Converters for use with FormEncode. + """ + +-import cgi ++try: ++ import cgi ++except ImportError: # Python >= 3.13 ++ cgi = None + import re + import warnings + from encodings import idna +@@ -1772,7 +1775,7 @@ class FieldStorageUploadConverter(FancyValidator): + no upload was given). + """ + def _convert_to_python(self, value, state=None): +- if isinstance(value, cgi.FieldStorage): ++ if cgi and isinstance(value, cgi.FieldStorage): + if getattr(value, 'filename', None): + return value + raise Invalid('invalid', value, state) +@@ -1780,7 +1783,7 @@ def _convert_to_python(self, value, state=None): + return value + + def is_empty(self, value): +- if isinstance(value, cgi.FieldStorage): ++ if cgi and isinstance(value, cgi.FieldStorage): + return not bool(getattr(value, 'filename', None)) + return FancyValidator.is_empty(self, value) + +@@ -1825,7 +1828,7 @@ def _convert_to_python(self, value, state): + upload = value.get(self.upload_key) + static = value.get(self.static_key, '').strip() + filename = content = None +- if isinstance(upload, cgi.FieldStorage): ++ if cgi and isinstance(upload, cgi.FieldStorage): + filename = upload.filename + content = upload.value + elif isinstance(upload, str) and upload: diff --git a/python-FormEncode.changes b/python-FormEncode.changes index fd04fc7..00c0006 100644 --- a/python-FormEncode.changes +++ b/python-FormEncode.changes @@ -1,3 +1,33 @@ +------------------------------------------------------------------- +Tue Sep 10 04:11:22 UTC 2024 - Steve Kowalik + +- Add patch do-not-always-use-cgi-module.patch: + * Support Python 3.13 by making use of cgi optional. +- Switch to autosetup macro. + +------------------------------------------------------------------- +Tue Apr 16 13:25:39 UTC 2024 - Markéta Machová + +- Remove unneeded dependency on six + * https://github.com/formencode/formencode/commit/98e9e97e + +------------------------------------------------------------------- +Sat Dec 16 21:00:19 UTC 2023 - Dirk Müller + +- update to 2.1.0: + * Add support for Python 3.7 to 3.12, end support for older Python + versions + * Context.set() now works as a context manager + * Fix binary of swedish translation + * Some internal code cleanup and modernization + +------------------------------------------------------------------- +Tue Jul 18 02:48:07 UTC 2023 - Steve Kowalik + +- Clean up Python 2 leftovers. +- Switch to pyproject macros. +- Drop BuildRequires on setuptools_scm_git_archive + ------------------------------------------------------------------- Fri Apr 21 12:20:37 UTC 2023 - Dirk Müller @@ -135,7 +165,7 @@ Mon Aug 5 13:25:42 UTC 2013 - hpj@urpla.net Mon Jun 10 12:28:02 UTC 2013 - dmueller@suse.com - update to 1.2.5: - * The method field_is_empty was added to + * The method field_is_empty was added to formencode.validators.FormValidator * Fix packaging issue with i18n files (from Juliusz Gonera) diff --git a/python-FormEncode.spec b/python-FormEncode.spec index 253c605..a533d42 100644 --- a/python-FormEncode.spec +++ b/python-FormEncode.spec @@ -1,7 +1,7 @@ # # spec file for package python-FormEncode # -# Copyright (c) 2023 SUSE LLC +# Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,33 +16,27 @@ # -%define oldpython python -%{?!python_module:%define python_module() python-%{**} python3-%{**}} -%bcond_without python2 %{?sle15_python_module_pythons} Name: python-FormEncode -Version: 2.0.1 +Version: 2.1.0 Release: 0 Summary: HTML form validation, generation, and conversion package License: Python-2.0 -Group: Development/Languages/Python -URL: http://formencode.org +URL: https://formencode.org Source: https://files.pythonhosted.org/packages/source/F/FormEncode/FormEncode-%{version}.tar.gz +# PATCH-FIX-UPSTREAM gh#formencode/formencode#176 +Patch0: do-not-always-use-cgi-module.patch +BuildRequires: %{python_module base >= 3.7} BuildRequires: %{python_module dnspython} +BuildRequires: %{python_module pip} BuildRequires: %{python_module pycountry} BuildRequires: %{python_module pytest} -BuildRequires: %{python_module setuptools_scm_git_archive} BuildRequires: %{python_module setuptools_scm} BuildRequires: %{python_module setuptools} -BuildRequires: %{python_module six} +BuildRequires: %{python_module wheel} BuildRequires: fdupes BuildRequires: python-rpm-macros -Requires: python-six BuildArch: noarch -%ifpython2 -Provides: %{oldpython}-formencode = %{version} -Obsoletes: %{oldpython}-formencode < %{version} -%endif %python_subpackages %description @@ -51,21 +45,19 @@ a declarative form of defining the validation, and decoupled processes for filling and generating forms. %prep -%setup -q -n FormEncode-%{version} +%autosetup -p1 -n FormEncode-%{version} %build -%python_build +%pyproject_wheel %install -%python_install -rm %{buildroot}%{_prefix}/LICENSE.txt +%pyproject_install # trick find-lang.sh into finding the translation files %python_expand mv %{buildroot}%{$python_sitelib}/formencode/{i18n,locale} %python_find_lang FormEncode sed -i s/locale/i18n/ python*-FormEncode.lang %python_expand mv %{buildroot}%{$python_sitelib}/formencode/{locale,i18n} # remove misplaced documentation -%python_expand rm -r %{buildroot}%{$python_sitelib}/docs %python_expand %fdupes %{buildroot}%{$python_sitelib} %check @@ -81,6 +73,6 @@ python2_flags="--version" %license LICENSE.txt %doc README.rst %{python_sitelib}/formencode -%{python_sitelib}/FormEncode-%{version}*-info +%{python_sitelib}/FormEncode-%{version}.dist-info %changelog