Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-Flask-WTF for
openSUSE:Factory checked in at 2023-06-30 19:59:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-Flask-WTF (Old)
and /work/SRC/openSUSE:Factory/.python-Flask-WTF.new.13546 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-Flask-WTF"
Fri Jun 30 19:59:48 2023 rev:12 rq:1096052 version:1.1.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-Flask-WTF/python-Flask-WTF.changes
2022-04-10 00:42:08.608954246 +0200
+++
/work/SRC/openSUSE:Factory/.python-Flask-WTF.new.13546/python-Flask-WTF.changes
2023-06-30 20:00:07.626091291 +0200
@@ -1,0 +2,14 @@
+Fri Jun 30 05:16:29 UTC 2023 - Steve Kowalik <[email protected]>
+
+- Update to 1.1.1:
+ * Fixed `validate` `extra_validators` parameter. :pr:`548`
+ * Drop support for Python 3.6.
+ * ``validate_on_submit`` takes a ``extra_validators`` parameters :pr:`479`
+ * Stop supporting Flask-Babelex :pr:`540`
+ * Support for python 3.11 :pr:`542`
+ * Remove unused call to `JSONEncoder` :pr:`536`
+- Add patch flask-2.3-support.patch:
+ * Support Flask 2.3 changes.
+- Switch to pyproject macros.
+
+-------------------------------------------------------------------
Old:
----
Flask-WTF-1.0.1.tar.gz
New:
----
Flask-WTF-1.1.1.tar.gz
flask-2.3-support.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-Flask-WTF.spec ++++++
--- /var/tmp/diff_new_pack.30P5nd/_old 2023-06-30 20:00:08.550096787 +0200
+++ /var/tmp/diff_new_pack.30P5nd/_new 2023-06-30 20:00:08.554096811 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-Flask-WTF
#
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,19 +16,20 @@
#
-%{?!python_module:%define python_module() python-%{**} python3-%{**}}
-%define skip_python2 1
%bcond_without test
Name: python-Flask-WTF
-Version: 1.0.1
+Version: 1.1.1
Release: 0
Summary: WTForms support for Flask
License: BSD-3-Clause
-Group: Development/Languages/Python
URL: https://github.com/lepture/flask-wtf
Source:
https://files.pythonhosted.org/packages/source/F/Flask-WTF/Flask-WTF-%{version}.tar.gz
+# PATCH-FIX-UPSTREAM gh#wtforms/flask-wtf#565
+Patch0: flask-2.3-support.patch
BuildRequires: %{python_module base >= 3.7}
+BuildRequires: %{python_module pip}
BuildRequires: %{python_module setuptools}
+BuildRequires: %{python_module wheel}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: python-Flask
@@ -38,7 +39,6 @@
Recommends: python-email_validator
BuildArch: noarch
%if %{with test}
-BuildRequires: %{python_module Flask-BabelEx}
BuildRequires: %{python_module Flask-Babel}
BuildRequires: %{python_module Flask}
BuildRequires: %{python_module WTForms}
@@ -52,13 +52,13 @@
Adds WTForms support to your Flask application
%prep
-%setup -q -n Flask-WTF-%{version}
+%autosetup -p1 -n Flask-WTF-%{version}
%build
-%python_build
+%pyproject_wheel
%install
-%python_install
+%pyproject_install
%fdupes %{buildroot}%{_prefix}
%if %{with test}
@@ -72,6 +72,6 @@
%license LICENSE.rst
%doc README.rst
%{python_sitelib}/flask_wtf
-%{python_sitelib}/Flask_WTF-%{version}-py*.egg-info
+%{python_sitelib}/Flask_WTF-%{version}.dist-info
%changelog
++++++ Flask-WTF-1.0.1.tar.gz -> Flask-WTF-1.1.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Flask-WTF-1.0.1/.editorconfig
new/Flask-WTF-1.1.1/.editorconfig
--- old/Flask-WTF-1.0.1/.editorconfig 1970-01-01 01:00:00.000000000 +0100
+++ new/Flask-WTF-1.1.1/.editorconfig 2022-12-24 14:11:35.000000000 +0100
@@ -0,0 +1,13 @@
+root = true
+
+[*]
+indent_style = space
+indent_size = 4
+insert_final_newline = true
+trim_trailing_whitespace = true
+end_of_line = lf
+charset = utf-8
+max_line_length = 88
+
+[*.{yml,yaml,json,js,css,html}]
+indent_size = 2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Flask-WTF-1.0.1/.github/ISSUE_TEMPLATE/bug-report.md
new/Flask-WTF-1.1.1/.github/ISSUE_TEMPLATE/bug-report.md
--- old/Flask-WTF-1.0.1/.github/ISSUE_TEMPLATE/bug-report.md 1970-01-01
01:00:00.000000000 +0100
+++ new/Flask-WTF-1.1.1/.github/ISSUE_TEMPLATE/bug-report.md 2022-12-24
14:11:35.000000000 +0100
@@ -0,0 +1,28 @@
+---
+name: Bug report
+about: Report a bug in Flask-WTF
+---
+
+<!--
+This issue tracker is a tool to address bugs in Flask-WTF itself. Please
+use our Discord or Stack Overflow for questions about your own code.
+
+Replace this comment with a clear outline of what the bug is.
+-->
+
+<!--
+Describe how to replicate the bug.
+
+Include a minimal reproducible example that demonstrates the bug.
+Include the full traceback if there was an exception.
+-->
+
+<!--
+Describe the expected behavior that should have happened but didn't.
+-->
+
+Environment:
+
+- Python version:
+- Flask-WTF version:
+- Flask version:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Flask-WTF-1.0.1/.github/ISSUE_TEMPLATE/config.yml
new/Flask-WTF-1.1.1/.github/ISSUE_TEMPLATE/config.yml
--- old/Flask-WTF-1.0.1/.github/ISSUE_TEMPLATE/config.yml 1970-01-01
01:00:00.000000000 +0100
+++ new/Flask-WTF-1.1.1/.github/ISSUE_TEMPLATE/config.yml 2022-12-24
14:11:35.000000000 +0100
@@ -0,0 +1,8 @@
+blank_issues_enabled: false
+contact_links:
+ - name: Questions
+ url: https://stackoverflow.com/questions/tagged/flask-wtforms?tab=Frequent
+ about: Search for and ask questions about your code on Stack Overflow.
+ - name: Questions and discussions
+ url: https://discord.gg/pallets
+ about: Discuss questions about your code on our Discord chat.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/Flask-WTF-1.0.1/.github/ISSUE_TEMPLATE/feature-request.md
new/Flask-WTF-1.1.1/.github/ISSUE_TEMPLATE/feature-request.md
--- old/Flask-WTF-1.0.1/.github/ISSUE_TEMPLATE/feature-request.md
1970-01-01 01:00:00.000000000 +0100
+++ new/Flask-WTF-1.1.1/.github/ISSUE_TEMPLATE/feature-request.md
2022-12-24 14:11:35.000000000 +0100
@@ -0,0 +1,15 @@
+---
+name: Feature request
+about: Suggest a new feature for Flask-WTF
+---
+
+<!--
+Replace this comment with a description of what the feature should do.
+Include details such as links to relevant specs or previous discussions.
+-->
+
+<!--
+Replace this comment with an example of the problem which this feature
+would resolve. Is this problem solvable without changes to Flask-WTF,
+such as by subclassing or using existing utilities?
+-->
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Flask-WTF-1.0.1/.github/dependabot.yml
new/Flask-WTF-1.1.1/.github/dependabot.yml
--- old/Flask-WTF-1.0.1/.github/dependabot.yml 1970-01-01 01:00:00.000000000
+0100
+++ new/Flask-WTF-1.1.1/.github/dependabot.yml 2022-12-24 14:11:35.000000000
+0100
@@ -0,0 +1,9 @@
+version: 2
+updates:
+- package-ecosystem: "github-actions"
+ directory: "/"
+ schedule:
+ interval: "monthly"
+ day: "monday"
+ time: "16:00"
+ timezone: "UTC"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Flask-WTF-1.0.1/.github/pull_request_template.md
new/Flask-WTF-1.1.1/.github/pull_request_template.md
--- old/Flask-WTF-1.0.1/.github/pull_request_template.md 1970-01-01
01:00:00.000000000 +0100
+++ new/Flask-WTF-1.1.1/.github/pull_request_template.md 2022-12-24
14:11:35.000000000 +0100
@@ -0,0 +1,28 @@
+<!--
+If you have not contributed to the project before, open a ticket
+describing the issue or feature the PR will address to allow discussion
+first.
+
+Replace this comment with a description of the change. Describe how it
+addresses the linked ticket.
+-->
+
+<!--
+Link to relevant issues or previous PRs, one per line. Use "fixes" to
+automatically close an issue.
+-->
+
+- fixes #<issue number>
+
+<!--
+Ensure each step for contributing is complete by adding an "x" to each
+box below.
+
+If only docs were changed, these aren't relevant and can be removed.
+-->
+
+Checklist:
+
+- [ ] Add tests that demonstrate the correct behavior of the change. Tests
should fail without the change.
+- [ ] Add or update relevant docs, in the docs folder and in code.
+- [ ] Add an entry in `docs/changes.rst` summarizing the change and linking to
the issue. Add `.. versionchanged::` entries in any relevant code docs.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Flask-WTF-1.0.1/.github/workflows/lock.yaml
new/Flask-WTF-1.1.1/.github/workflows/lock.yaml
--- old/Flask-WTF-1.0.1/.github/workflows/lock.yaml 1970-01-01
01:00:00.000000000 +0100
+++ new/Flask-WTF-1.1.1/.github/workflows/lock.yaml 2023-01-13
14:39:58.000000000 +0100
@@ -0,0 +1,15 @@
+name: 'Lock threads'
+
+on:
+ schedule:
+ - cron: '0 0 * * *'
+
+jobs:
+ lock:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: dessant/lock-threads@v4
+ with:
+ github-token: ${{ github.token }}
+ issue-inactive-days: 14
+ pr-inactive-days: 14
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Flask-WTF-1.0.1/.github/workflows/tests.yaml
new/Flask-WTF-1.1.1/.github/workflows/tests.yaml
--- old/Flask-WTF-1.0.1/.github/workflows/tests.yaml 1970-01-01
01:00:00.000000000 +0100
+++ new/Flask-WTF-1.1.1/.github/workflows/tests.yaml 2023-01-13
14:39:58.000000000 +0100
@@ -0,0 +1,41 @@
+name: Tests
+on:
+ push:
+ branches:
+ - main
+ - '*.x'
+ pull_request:
+ branches:
+ - main
+ - '*.x'
+ paths-ignore:
+ - 'docs/**'
+ - '*.rst'
+jobs:
+ tests:
+ name: ${{ matrix.name }}
+ runs-on: ubuntu-latest
+ strategy:
+ fail-fast: false
+ matrix:
+ include:
+ - {name: '3.11', python: '3.11', tox: 'py311,py-no-babel'}
+ - {name: '3.10', python: '3.10', tox: py310}
+ - {name: '3.9', python: '3.9', tox: py39}
+ - {name: '3.8', python: '3.8', tox: py38}
+ - {name: '3.7', python: '3.7', tox: py37}
+ - {name: 'PyPy', python: 'pypy-3.8', tox: pypy38}
+ steps:
+ - uses: actions/checkout@v3
+ - uses: actions/setup-python@v4
+ with:
+ python-version: ${{ matrix.python }}
+ cache: 'pip'
+ cache-dependency-path: 'requirements/*.txt'
+ - name: update pip
+ run: |
+ pip install -U wheel
+ pip install -U setuptools
+ python -m pip install -U pip
+ - run: pip install tox
+ - run: tox -e ${{ matrix.tox }}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Flask-WTF-1.0.1/.gitignore
new/Flask-WTF-1.1.1/.gitignore
--- old/Flask-WTF-1.0.1/.gitignore 1970-01-01 01:00:00.000000000 +0100
+++ new/Flask-WTF-1.1.1/.gitignore 2022-12-24 14:11:35.000000000 +0100
@@ -0,0 +1,14 @@
+/.idea/
+/.vscode/
+/env/
+/venv/
+/.venv/
+__pycache__/
+*.pyc
+*.egg-info
+/build/
+/dist/
+/.tox/
+/.pytest_cache/
+/.mypy_cache/
+/docs/_build/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Flask-WTF-1.0.1/.pre-commit-config.yaml
new/Flask-WTF-1.1.1/.pre-commit-config.yaml
--- old/Flask-WTF-1.0.1/.pre-commit-config.yaml 1970-01-01 01:00:00.000000000
+0100
+++ new/Flask-WTF-1.1.1/.pre-commit-config.yaml 2023-01-13 14:57:43.000000000
+0100
@@ -0,0 +1,35 @@
+ci:
+ autoupdate_schedule: monthly
+repos:
+ - repo: https://github.com/asottile/pyupgrade
+ rev: v3.3.1
+ hooks:
+ - id: pyupgrade
+ args: ["--py37-plus"]
+ - repo: https://github.com/asottile/reorder_python_imports
+ rev: v3.9.0
+ hooks:
+ - id: reorder-python-imports
+ args: ["--application-directories", "src"]
+ additional_dependencies: ["setuptools>60.9"]
+ - repo: https://github.com/psf/black
+ rev: 22.12.0
+ hooks:
+ - id: black
+ - repo: https://github.com/PyCQA/flake8
+ rev: 6.0.0
+ hooks:
+ - id: flake8
+ additional_dependencies:
+ - flake8-bugbear
+ - flake8-implicit-str-concat
+ - repo: https://github.com/peterdemin/pip-compile-multi
+ rev: v2.6.1
+ hooks:
+ - id: pip-compile-multi-verify
+ - repo: https://github.com/pre-commit/pre-commit-hooks
+ rev: v4.4.0
+ hooks:
+ - id: fix-byte-order-marker
+ - id: trailing-whitespace
+ - id: end-of-file-fixer
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Flask-WTF-1.0.1/.readthedocs.yaml
new/Flask-WTF-1.1.1/.readthedocs.yaml
--- old/Flask-WTF-1.0.1/.readthedocs.yaml 1970-01-01 01:00:00.000000000
+0100
+++ new/Flask-WTF-1.1.1/.readthedocs.yaml 2022-12-24 14:11:35.000000000
+0100
@@ -0,0 +1,9 @@
+version: 2
+python:
+ install:
+ - requirements: requirements/docs.txt
+ - method: pip
+ path: .
+sphinx:
+ builder: dirhtml
+ fail_on_warning: true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Flask-WTF-1.0.1/CONTRIBUTING.rst
new/Flask-WTF-1.1.1/CONTRIBUTING.rst
--- old/Flask-WTF-1.0.1/CONTRIBUTING.rst 1970-01-01 01:00:00.000000000
+0100
+++ new/Flask-WTF-1.1.1/CONTRIBUTING.rst 2022-12-24 14:11:35.000000000
+0100
@@ -0,0 +1,222 @@
+How to contribute to Flask-WTF
+==============================
+
+Thank you for considering contributing to Flask-WTF!
+
+
+Support questions
+-----------------
+
+Please don't use the issue tracker for this. The issue tracker is a
+tool to address bugs and feature requests in Flask-WTF itself. Use one of
+the following resources for questions about using Flask-WTF or issues
+with your own code:
+
+- The ``#get-help`` channel on our Discord chat:
+ https://discord.gg/pallets
+- The mailing list [email protected] for long term discussion or larger
+ issues.
+- Ask on `Stack Overflow`_. Search with Google first using:
+ ``site:stackoverflow.com flask-wtf {search term, exception message, etc.}``
+
+.. _Stack Overflow:
https://stackoverflow.com/questions/tagged/flask-wtf?tab=Frequent
+
+
+Reporting issues
+----------------
+
+Include the following information in your post:
+
+- Describe what you expected to happen.
+- If possible, include a `minimal reproducible example`_ to help us
+ identify the issue. This also helps check that the issue is not with
+ your own code.
+- Describe what actually happened. Include the full traceback if there
+ was an exception.
+- List your Python, Flask-WTF, and WTForms versions. If possible, check if
this
+ issue is already fixed in the latest releases or the latest code in
+ the repository.
+
+.. _minimal reproducible example:
https://stackoverflow.com/help/minimal-reproducible-example
+
+
+Submitting patches
+------------------
+
+If there is not an open issue for what you want to submit, prefer
+opening one for discussion before working on a PR. You can work on any
+issue that doesn't have an open PR linked to it or a maintainer assigned
+to it. These show up in the sidebar. No need to ask if you can work on
+an issue that interests you.
+
+Include the following in your patch:
+
+- Use `Black`_ to format your code. This and other tools will run
+ automatically if you install `pre-commit`_ using the instructions
+ below.
+- Include tests if your patch adds or changes code. Make sure the test
+ fails without your patch.
+- Update any relevant docs pages and docstrings. Docs pages and
+ docstrings should be wrapped at 72 characters.
+- Add an entry in ``CHANGES.rst``. Use the same style as other
+ entries. Also include ``.. versionchanged::`` inline changelogs in
+ relevant docstrings.
+
+.. _Black: https://black.readthedocs.io
+.. _pre-commit: https://pre-commit.com
+
+
+First time setup
+~~~~~~~~~~~~~~~~
+
+- Download and install the `latest version of git`_.
+- Configure git with your `username`_ and `email`_.
+
+ .. code-block:: text
+
+ $ git config --global user.name 'your name'
+ $ git config --global user.email 'your email'
+
+- Make sure you have a `GitHub account`_.
+- Fork Flask-WTF to your GitHub account by clicking the `Fork`_ button.
+- `Clone`_ the main repository locally.
+
+ .. code-block:: text
+
+ $ git clone https://github.com/wtforms/flask-wtf
+ $ cd flask-wtf
+
+- Add your fork as a remote to push your work to. Replace
+ ``{username}`` with your username. This names the remote "fork", the
+ default WTForms remote is "origin".
+
+ .. code-block:: text
+
+ $ git remote add fork https://github.com/{username}/flask-wtf
+
+- Create a virtualenv.
+
+ .. code-block:: text
+
+ $ python3 -m venv env
+ $ . env/bin/activate
+
+ On Windows, activating is different.
+
+ .. code-block:: text
+
+ > env\Scripts\activate
+
+- Upgrade pip and setuptools.
+
+ .. code-block:: text
+
+ $ python -m pip install --upgrade pip setuptools
+
+- Install the development dependencies, then install Flask-WTF in
+ editable mode.
+
+ .. code-block:: text
+
+ $ pip install -r requirements/dev.txt && pip install -e .
+
+- Install the pre-commit hooks.
+
+ .. code-block:: text
+
+ $ pre-commit install
+
+.. _latest version of git: https://git-scm.com/downloads
+.. _username:
https://docs.github.com/en/github/using-git/setting-your-username-in-git
+.. _email:
https://docs.github.com/en/github/setting-up-and-managing-your-github-user-account/setting-your-commit-email-address
+.. _GitHub account: https://github.com/join
+.. _Fork: https://github.com/wtforms/flask-wtf/fork
+.. _Clone:
https://docs.github.com/en/github/getting-started-with-github/fork-a-repo#step-2-create-a-local-clone-of-your-fork
+
+
+Start coding
+~~~~~~~~~~~~
+
+- Create a branch to identify the issue you would like to work on. If
+ you're submitting a bug or documentation fix, branch off of the
+ latest ".x" branch.
+
+ .. code-block:: text
+
+ $ git fetch origin
+ $ git checkout -b your-branch-name origin/1.0.x
+
+ If you're submitting a feature addition or change, branch off of the
+ "main" branch.
+
+ .. code-block:: text
+
+ $ git fetch origin
+ $ git checkout -b your-branch-name origin/main
+
+- Using your favorite editor, make your changes,
+ `committing as you go`_.
+- Include tests that cover any code changes you make. Make sure the
+ test fails without your patch. Run the tests as described below.
+- Push your commits to your fork on GitHub and
+ `create a pull request`_. Link to the issue being addressed with
+ ``fixes #123`` in the pull request.
+
+ .. code-block:: text
+
+ $ git push --set-upstream fork your-branch-name
+
+.. _committing as you go:
https://dont-be-afraid-to-commit.readthedocs.io/en/latest/git/commandlinegit.html#commit-your-changes
+.. _create a pull request:
https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request
+
+
+Running the tests
+~~~~~~~~~~~~~~~~~
+
+Run the basic test suite with pytest.
+
+.. code-block:: text
+
+ $ pytest
+
+This runs the tests for the current environment, which is usually
+sufficient. CI will run the full suite when you submit your pull
+request. You can run the full test suite with tox if you don't want to
+wait.
+
+.. code-block:: text
+
+ $ tox
+
+
+Running test coverage
+~~~~~~~~~~~~~~~~~~~~~
+
+Generating a report of lines that do not have test coverage can indicate
+where to start contributing. Run ``pytest`` using ``coverage`` and
+generate a report.
+
+.. code-block:: text
+
+ $ pip install coverage
+ $ coverage run -m pytest
+ $ coverage html
+
+Open ``htmlcov/index.html`` in your browser to explore the report.
+
+Read more about `coverage <https://coverage.readthedocs.io>`__.
+
+
+Building the docs
+~~~~~~~~~~~~~~~~~
+
+Build the docs in the ``docs`` directory using Sphinx.
+
+.. code-block:: text
+
+ $ cd docs
+ $ make html
+
+Open ``_build/html/index.html`` in your browser to view the docs.
+
+Read more about `Sphinx <https://www.sphinx-doc.org/en/stable/>`__.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Flask-WTF-1.0.1/MANIFEST.in
new/Flask-WTF-1.1.1/MANIFEST.in
--- old/Flask-WTF-1.0.1/MANIFEST.in 2022-03-31 17:21:42.000000000 +0200
+++ new/Flask-WTF-1.1.1/MANIFEST.in 2022-12-24 14:11:35.000000000 +0100
@@ -1,5 +1,6 @@
include tox.ini
include requirements/*.txt
+include CONTRIBUTING.rst
graft docs
prune docs/_build
graft examples
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Flask-WTF-1.0.1/PKG-INFO new/Flask-WTF-1.1.1/PKG-INFO
--- old/Flask-WTF-1.0.1/PKG-INFO 2022-03-31 20:08:15.430014400 +0200
+++ new/Flask-WTF-1.1.1/PKG-INFO 2023-01-17 20:25:53.987326100 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: Flask-WTF
-Version: 1.0.1
+Version: 1.1.1
Summary: Form rendering, validation, and CSRF protection for Flask with
WTForms.
Home-page: https://github.com/wtforms/flask-wtf/
Author: Dan Jacob
@@ -13,7 +13,6 @@
Project-URL: Source Code, https://github.com/wtforms/flask-wtf/
Project-URL: Issue Tracker, https://github.com/wtforms/flask-wtf/issues/
Project-URL: Chat, https://discord.gg/pallets
-Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Web Environment
Classifier: Framework :: Flask
@@ -25,7 +24,7 @@
Classifier: Topic :: Internet :: WWW/HTTP :: WSGI
Classifier: Topic :: Internet :: WWW/HTTP :: WSGI :: Application
Classifier: Topic :: Software Development :: Libraries :: Application
Frameworks
-Requires-Python: >=3.6
+Requires-Python: >=3.7
Description-Content-Type: text/x-rst
Provides-Extra: email
License-File: LICENSE.rst
@@ -45,5 +44,3 @@
- Source Code: https://github.com/wtforms/flask-wtf/
- Issue Tracker: https://github.com/wtforms/flask-wtf/issues/
- Chat: https://discord.gg/pallets
-
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Flask-WTF-1.0.1/docs/changes.rst
new/Flask-WTF-1.1.1/docs/changes.rst
--- old/Flask-WTF-1.0.1/docs/changes.rst 2022-03-31 20:07:01.000000000
+0200
+++ new/Flask-WTF-1.1.1/docs/changes.rst 2023-01-17 20:23:08.000000000
+0100
@@ -1,6 +1,24 @@
Changes
=======
+Version 1.1.1
+-------------
+
+Released 2023-01-17
+
+- Fixed `validate` `extra_validators` parameter. :pr:`548`
+
+Version 1.1.0
+-------------
+
+Released 2023-01-15
+
+- Drop support for Python 3.6.
+- ``validate_on_submit`` takes a ``extra_validators`` parameters :pr:`479`
+- Stop supporting Flask-Babelex :pr:`540`
+- Support for python 3.11 :pr:`542`
+- Remove unused call to `JSONEncoder` :pr:`536`
+
Version 1.0.1
-------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Flask-WTF-1.0.1/examples/babel/app.py
new/Flask-WTF-1.1.1/examples/babel/app.py
--- old/Flask-WTF-1.0.1/examples/babel/app.py 2021-05-25 23:40:56.000000000
+0200
+++ new/Flask-WTF-1.1.1/examples/babel/app.py 2023-01-17 20:06:49.000000000
+0100
@@ -3,28 +3,21 @@
from flask import request
from flask_babel import Babel
from flask_babel import lazy_gettext as _
-from wtforms import TextField
+from wtforms import StringField
from wtforms.validators import DataRequired
from flask_wtf import FlaskForm
class BabelForm(FlaskForm):
- name = TextField(_("Name"), validators=[DataRequired()])
+ name = StringField(_("Name"), validators=[DataRequired()])
DEBUG = True
SECRET_KEY = "secret"
WTF_I18N_ENABLED = True
-app = Flask(__name__)
-app.config.from_object(__name__)
-
-# config babel
-babel = Babel(app)
-
[email protected]
def get_locale():
"""how to get the locale is defined by you.
@@ -39,6 +32,13 @@
return code
+app = Flask(__name__)
+app.config.from_object(__name__)
+
+# config babel
+babel = Babel(app, locale_selector=get_locale)
+
+
@app.route("/", methods=("GET", "POST"))
def index():
form = BabelForm()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Flask-WTF-1.0.1/requirements/dev.in
new/Flask-WTF-1.1.1/requirements/dev.in
--- old/Flask-WTF-1.0.1/requirements/dev.in 1970-01-01 01:00:00.000000000
+0100
+++ new/Flask-WTF-1.1.1/requirements/dev.in 2022-12-24 14:11:35.000000000
+0100
@@ -0,0 +1,5 @@
+-r docs.in
+-r tests.in
+pip-compile-multi
+pre-commit
+tox
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Flask-WTF-1.0.1/requirements/dev.txt
new/Flask-WTF-1.1.1/requirements/dev.txt
--- old/Flask-WTF-1.0.1/requirements/dev.txt 2022-03-31 19:59:02.000000000
+0200
+++ new/Flask-WTF-1.1.1/requirements/dev.txt 2023-01-13 14:39:58.000000000
+0100
@@ -5,51 +5,129 @@
#
# pip-compile-multi
#
--r docs.txt
--r tests.txt
+alabaster==0.7.12
+ # via sphinx
+attrs==21.4.0
+ # via pytest
+babel==2.9.1
+ # via sphinx
+certifi==2022.12.7
+ # via requests
cfgv==3.3.1
# via pre-commit
+charset-normalizer==2.0.12
+ # via requests
click==8.1.1
# via
# pip-compile-multi
# pip-tools
distlib==0.3.4
# via virtualenv
+docutils==0.17.1
+ # via sphinx
filelock==3.6.0
# via
# tox
# virtualenv
identify==2.4.12
# via pre-commit
+idna==3.3
+ # via requests
+imagesize==1.3.0
+ # via sphinx
+iniconfig==1.1.1
+ # via pytest
+jinja2==3.1.1
+ # via sphinx
+markupsafe==2.1.1
+ # via jinja2
nodeenv==1.6.0
# via pre-commit
+packaging==21.3
+ # via
+ # pallets-sphinx-themes
+ # pytest
+ # sphinx
+ # tox
+pallets-sphinx-themes==2.0.2
+ # via -r docs.in
pep517==0.12.0
# via pip-tools
pip-compile-multi==2.4.4
- # via -r requirements/dev.in
+ # via -r dev.in
pip-tools==6.5.1
# via pip-compile-multi
platformdirs==2.5.1
# via virtualenv
+pluggy==1.0.0
+ # via
+ # pytest
+ # tox
pre-commit==2.17.0
- # via -r requirements/dev.in
+ # via -r dev.in
+py==1.11.0
+ # via
+ # pytest
+ # tox
+pygments==2.11.2
+ # via sphinx
+pyparsing==3.0.7
+ # via packaging
+pytest==7.1.1
+ # via -r tests.in
+pytz==2022.1
+ # via babel
pyyaml==6.0
# via pre-commit
+requests==2.27.1
+ # via sphinx
six==1.16.0
# via
# tox
# virtualenv
+snowballstemmer==2.2.0
+ # via sphinx
+sphinx==4.5.0
+ # via
+ # -r docs.in
+ # pallets-sphinx-themes
+ # sphinx-issues
+ # sphinxcontrib-log-cabinet
+sphinx-issues==3.0.1
+ # via -r docs.in
+sphinxcontrib-applehelp==1.0.2
+ # via sphinx
+sphinxcontrib-devhelp==1.0.2
+ # via sphinx
+sphinxcontrib-htmlhelp==2.0.0
+ # via sphinx
+sphinxcontrib-jsmath==1.0.1
+ # via sphinx
+sphinxcontrib-log-cabinet==1.0.1
+ # via -r docs.in
+sphinxcontrib-qthelp==1.0.3
+ # via sphinx
+sphinxcontrib-serializinghtml==1.1.5
+ # via sphinx
+toml==0.10.2
+ # via
+ # pre-commit
+ # tox
tomli==2.0.1
- # via pep517
+ # via
+ # pep517
+ # pytest
toposort==1.7
# via pip-compile-multi
tox==3.24.5
- # via -r requirements/dev.in
+ # via -r dev.in
+urllib3==1.26.9
+ # via requests
virtualenv==20.14.0
# via
# pre-commit
# tox
-wheel==0.37.1
+wheel==0.38.1
# via pip-tools
# The following packages are considered to be unsafe in a requirements file:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Flask-WTF-1.0.1/requirements/docs.in
new/Flask-WTF-1.1.1/requirements/docs.in
--- old/Flask-WTF-1.0.1/requirements/docs.in 1970-01-01 01:00:00.000000000
+0100
+++ new/Flask-WTF-1.1.1/requirements/docs.in 2022-12-24 14:11:35.000000000
+0100
@@ -0,0 +1,4 @@
+Pallets-Sphinx-Themes
+Sphinx
+sphinx-issues
+sphinxcontrib-log-cabinet
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Flask-WTF-1.0.1/requirements/docs.txt
new/Flask-WTF-1.1.1/requirements/docs.txt
--- old/Flask-WTF-1.0.1/requirements/docs.txt 2022-03-31 19:59:02.000000000
+0200
+++ new/Flask-WTF-1.1.1/requirements/docs.txt 2023-01-13 14:39:58.000000000
+0100
@@ -9,7 +9,7 @@
# via sphinx
babel==2.9.1
# via sphinx
-certifi==2021.10.8
+certifi==2022.12.7
# via requests
charset-normalizer==2.0.12
# via requests
@@ -28,7 +28,7 @@
# pallets-sphinx-themes
# sphinx
pallets-sphinx-themes==2.0.2
- # via -r requirements/docs.in
+ # via -r docs.in
pygments==2.11.2
# via sphinx
pyparsing==3.0.7
@@ -41,12 +41,12 @@
# via sphinx
sphinx==4.5.0
# via
- # -r requirements/docs.in
+ # -r docs.in
# pallets-sphinx-themes
# sphinx-issues
# sphinxcontrib-log-cabinet
sphinx-issues==3.0.1
- # via -r requirements/docs.in
+ # via -r docs.in
sphinxcontrib-applehelp==1.0.2
# via sphinx
sphinxcontrib-devhelp==1.0.2
@@ -56,7 +56,7 @@
sphinxcontrib-jsmath==1.0.1
# via sphinx
sphinxcontrib-log-cabinet==1.0.1
- # via -r requirements/docs.in
+ # via -r docs.in
sphinxcontrib-qthelp==1.0.3
# via sphinx
sphinxcontrib-serializinghtml==1.1.5
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Flask-WTF-1.0.1/requirements/style.in
new/Flask-WTF-1.1.1/requirements/style.in
--- old/Flask-WTF-1.0.1/requirements/style.in 1970-01-01 01:00:00.000000000
+0100
+++ new/Flask-WTF-1.1.1/requirements/style.in 2022-12-24 14:11:35.000000000
+0100
@@ -0,0 +1 @@
+pre-commit
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Flask-WTF-1.0.1/requirements/tests.in
new/Flask-WTF-1.1.1/requirements/tests.in
--- old/Flask-WTF-1.0.1/requirements/tests.in 1970-01-01 01:00:00.000000000
+0100
+++ new/Flask-WTF-1.1.1/requirements/tests.in 2022-12-24 14:11:35.000000000
+0100
@@ -0,0 +1 @@
+pytest
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Flask-WTF-1.0.1/requirements/tests.txt
new/Flask-WTF-1.1.1/requirements/tests.txt
--- old/Flask-WTF-1.0.1/requirements/tests.txt 2022-03-31 19:59:02.000000000
+0200
+++ new/Flask-WTF-1.1.1/requirements/tests.txt 2022-12-24 14:11:35.000000000
+0100
@@ -1,4 +1,4 @@
-# SHA1:43b07f68ee4dcf187dce9de79fc8dd462f1c99d6
+# SHA1:0eaa389e1fdb3a1917c0f987514bd561be5718ee
#
# This file is autogenerated by pip-compile-multi
# To update, run:
@@ -17,7 +17,7 @@
# via pytest
pyparsing==3.0.7
# via packaging
-pytest==6.2.5
+pytest==7.1.1
# via -r requirements/tests.in
-toml==0.10.2
+tomli==2.0.1
# via pytest
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Flask-WTF-1.0.1/setup.cfg
new/Flask-WTF-1.1.1/setup.cfg
--- old/Flask-WTF-1.0.1/setup.cfg 2022-03-31 20:08:15.430014400 +0200
+++ new/Flask-WTF-1.1.1/setup.cfg 2023-01-17 20:25:53.987326100 +0100
@@ -33,7 +33,7 @@
packages = find:
package_dir = = src
include_package_data = true
-python_requires = >= 3.6
+python_requires = >= 3.7
[options.packages.find]
where = src
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Flask-WTF-1.0.1/src/Flask_WTF.egg-info/PKG-INFO
new/Flask-WTF-1.1.1/src/Flask_WTF.egg-info/PKG-INFO
--- old/Flask-WTF-1.0.1/src/Flask_WTF.egg-info/PKG-INFO 2022-03-31
20:08:15.000000000 +0200
+++ new/Flask-WTF-1.1.1/src/Flask_WTF.egg-info/PKG-INFO 2023-01-17
20:25:53.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: Flask-WTF
-Version: 1.0.1
+Version: 1.1.1
Summary: Form rendering, validation, and CSRF protection for Flask with
WTForms.
Home-page: https://github.com/wtforms/flask-wtf/
Author: Dan Jacob
@@ -13,7 +13,6 @@
Project-URL: Source Code, https://github.com/wtforms/flask-wtf/
Project-URL: Issue Tracker, https://github.com/wtforms/flask-wtf/issues/
Project-URL: Chat, https://discord.gg/pallets
-Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Web Environment
Classifier: Framework :: Flask
@@ -25,7 +24,7 @@
Classifier: Topic :: Internet :: WWW/HTTP :: WSGI
Classifier: Topic :: Internet :: WWW/HTTP :: WSGI :: Application
Classifier: Topic :: Software Development :: Libraries :: Application
Frameworks
-Requires-Python: >=3.6
+Requires-Python: >=3.7
Description-Content-Type: text/x-rst
Provides-Extra: email
License-File: LICENSE.rst
@@ -45,5 +44,3 @@
- Source Code: https://github.com/wtforms/flask-wtf/
- Issue Tracker: https://github.com/wtforms/flask-wtf/issues/
- Chat: https://discord.gg/pallets
-
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Flask-WTF-1.0.1/src/Flask_WTF.egg-info/SOURCES.txt
new/Flask-WTF-1.1.1/src/Flask_WTF.egg-info/SOURCES.txt
--- old/Flask-WTF-1.0.1/src/Flask_WTF.egg-info/SOURCES.txt 2022-03-31
20:08:15.000000000 +0200
+++ new/Flask-WTF-1.1.1/src/Flask_WTF.egg-info/SOURCES.txt 2023-01-17
20:25:53.000000000 +0100
@@ -1,9 +1,21 @@
+.editorconfig
+.gitignore
+.pre-commit-config.yaml
+.readthedocs.yaml
+CONTRIBUTING.rst
LICENSE.rst
MANIFEST.in
README.rst
setup.cfg
setup.py
tox.ini
+.github/dependabot.yml
+.github/pull_request_template.md
+.github/ISSUE_TEMPLATE/bug-report.md
+.github/ISSUE_TEMPLATE/config.yml
+.github/ISSUE_TEMPLATE/feature-request.md
+.github/workflows/lock.yaml
+.github/workflows/tests.yaml
docs/Makefile
docs/api.rst
docs/changes.rst
@@ -25,9 +37,13 @@
examples/recaptcha/templates/index.html
examples/uploadr/app.py
examples/uploadr/templates/index.html
+requirements/dev.in
requirements/dev.txt
+requirements/docs.in
requirements/docs.txt
+requirements/style.in
requirements/style.txt
+requirements/tests.in
requirements/tests.txt
src/Flask_WTF.egg-info/PKG-INFO
src/Flask_WTF.egg-info/SOURCES.txt
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Flask-WTF-1.0.1/src/flask_wtf/__init__.py
new/Flask-WTF-1.1.1/src/flask_wtf/__init__.py
--- old/Flask-WTF-1.0.1/src/flask_wtf/__init__.py 2022-03-31
20:07:01.000000000 +0200
+++ new/Flask-WTF-1.1.1/src/flask_wtf/__init__.py 2023-01-17
20:22:32.000000000 +0100
@@ -5,4 +5,4 @@
from .recaptcha import RecaptchaField
from .recaptcha import RecaptchaWidget
-__version__ = "1.0.1"
+__version__ = "1.1.1"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Flask-WTF-1.0.1/src/flask_wtf/form.py
new/Flask-WTF-1.1.1/src/flask_wtf/form.py
--- old/Flask-WTF-1.0.1/src/flask_wtf/form.py 2022-03-31 17:32:10.000000000
+0200
+++ new/Flask-WTF-1.1.1/src/flask_wtf/form.py 2023-01-17 19:52:18.000000000
+0100
@@ -65,7 +65,7 @@
def get_translations(self, form):
if not current_app.config.get("WTF_I18N_ENABLED", True):
- return super(FlaskForm.Meta, self).get_translations(form)
+ return super().get_translations(form)
return translations
@@ -79,11 +79,11 @@
return _is_submitted()
- def validate_on_submit(self):
+ def validate_on_submit(self, extra_validators=None):
"""Call :meth:`validate` only if the form is submitted.
This is a shortcut for ``form.is_submitted() and form.validate()``.
"""
- return self.is_submitted() and self.validate()
+ return self.is_submitted() and
self.validate(extra_validators=extra_validators)
def hidden_tag(self, *fields):
"""Render the form's hidden fields in one call.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Flask-WTF-1.0.1/src/flask_wtf/i18n.py
new/Flask-WTF-1.1.1/src/flask_wtf/i18n.py
--- old/Flask-WTF-1.0.1/src/flask_wtf/i18n.py 2021-05-25 23:40:56.000000000
+0200
+++ new/Flask-WTF-1.1.1/src/flask_wtf/i18n.py 2022-12-24 14:41:36.000000000
+0100
@@ -1,13 +1,9 @@
from babel import support
from flask import current_app
from flask import request
+from flask_babel import get_locale
from wtforms.i18n import messages_path
-try:
- from flask_babel import get_locale
-except ImportError:
- from flask_babelex import get_locale
-
__all__ = ("Translations", "translations")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Flask-WTF-1.0.1/src/flask_wtf/recaptcha/widgets.py
new/Flask-WTF-1.1.1/src/flask_wtf/recaptcha/widgets.py
--- old/Flask-WTF-1.0.1/src/flask_wtf/recaptcha/widgets.py 2022-03-24
18:09:20.000000000 +0100
+++ new/Flask-WTF-1.1.1/src/flask_wtf/recaptcha/widgets.py 2023-01-17
20:21:33.000000000 +0100
@@ -1,10 +1,7 @@
from flask import current_app
-from flask import json
from flask import Markup
from werkzeug.urls import url_encode
-JSONEncoder = json.JSONEncoder
-
RECAPTCHA_SCRIPT_DEFAULT = "https://www.google.com/recaptcha/api.js"
RECAPTCHA_DIV_CLASS_DEFAULT = "g-recaptcha"
RECAPTCHA_TEMPLATE = """
@@ -28,7 +25,7 @@
script += "?" + url_encode(params)
attrs = current_app.config.get("RECAPTCHA_DATA_ATTRS", {})
attrs["sitekey"] = public_key
- snippet = " ".join(f'data-{k}="{attrs[k]}"' for k in attrs)
+ snippet = " ".join(f'data-{k}="{attrs[k]}"' for k in attrs) # noqa:
B028
div_class = current_app.config.get("RECAPTCHA_DIV_CLASS")
if not div_class:
div_class = RECAPTCHA_DIV_CLASS_DEFAULT
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Flask-WTF-1.0.1/tests/test_form.py
new/Flask-WTF-1.1.1/tests/test_form.py
--- old/Flask-WTF-1.0.1/tests/test_form.py 2022-03-24 18:09:20.000000000
+0100
+++ new/Flask-WTF-1.1.1/tests/test_form.py 2022-12-24 14:36:45.000000000
+0100
@@ -109,8 +109,6 @@
assert not form.validate_on_submit()
assert "This field is required." in form.name.errors
- client.post("/default", data={"name": " "})
-
@app.route("/es", methods=["POST"])
def es():
app.config["WTF_I18N_ENABLED"] = False
@@ -128,4 +126,5 @@
assert not form.validate_on_submit()
assert "Este campo es obligatorio." in form.name.errors
+ client.post("/default", data={"name": " "})
client.post("/es", data={"name": " "})
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Flask-WTF-1.0.1/tests/test_i18n.py
new/Flask-WTF-1.1.1/tests/test_i18n.py
--- old/Flask-WTF-1.0.1/tests/test_i18n.py 2022-03-31 19:59:02.000000000
+0200
+++ new/Flask-WTF-1.1.1/tests/test_i18n.py 2023-01-17 20:06:49.000000000
+0100
@@ -6,9 +6,7 @@
from flask_wtf import FlaskForm
-pytest.importorskip(
- "flask_wtf.i18n", reason="Neither Flask-Babel nor Flask-BabelEx is
installed."
-)
+pytest.importorskip("flask_wtf.i18n", reason="Flask-Babel is not installed.")
class NameForm(FlaskForm):
@@ -32,17 +30,13 @@
try:
from flask_babel import Babel
except ImportError:
- try:
- from flask_babelex import Babel
- except ImportError:
- pytest.skip("Flask-Babel or Flask-BabelEx must be installed.")
+ pytest.skip("Flask-Babel must be installed.")
- babel = Babel(app)
-
- @babel.localeselector
def get_locale():
return request.accept_languages.best_match(["en", "zh"], "en")
+ Babel(app, locale_selector=get_locale)
+
@app.route("/", methods=["POST"])
def index():
form = NameForm()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Flask-WTF-1.0.1/tox.ini new/Flask-WTF-1.1.1/tox.ini
--- old/Flask-WTF-1.0.1/tox.ini 2022-03-31 19:59:02.000000000 +0200
+++ new/Flask-WTF-1.1.1/tox.ini 2022-12-24 14:41:36.000000000 +0100
@@ -1,7 +1,7 @@
[tox]
envlist =
- py3{11,10,9,8,7,6},pypy3{8,7}
- py-{babelex,no-babel}
+ py3{11,10,9,8,7},pypy3{8,7}
+ py-{no-babel}
style
docs
@@ -12,12 +12,6 @@
Flask-Uploads
commands = pytest -v --tb=short --basetemp={envtmpdir} {posargs}
-[testenv:py-babelex]
-deps =
- -r requirements/tests.txt
- Flask-BabelEx
-commands = pytest -v --tb=short --basetemp={envtmpdir} {posargs}
-
[testenv:py-no-babel]
deps = -r requirements/tests.txt
commands = pytest -v --tb=short --basetemp={envtmpdir} {posargs}
++++++ flask-2.3-support.patch ++++++
>From 603318bfb31958572ff250fa29fc4e4678d438c8 Mon Sep 17 00:00:00 2001
From: Matt Shaw <[email protected]>
Date: Tue, 25 Apr 2023 22:07:52 +0100
Subject: [PATCH 1/2] fix #561
---
src/flask_wtf/recaptcha/widgets.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: Flask-WTF-1.1.1/src/flask_wtf/recaptcha/widgets.py
===================================================================
--- Flask-WTF-1.1.1.orig/src/flask_wtf/recaptcha/widgets.py
+++ Flask-WTF-1.1.1/src/flask_wtf/recaptcha/widgets.py
@@ -1,6 +1,7 @@
+from urllib.parse import urlencode
+
from flask import current_app
-from flask import Markup
-from werkzeug.urls import url_encode
+from markupsafe import Markup
RECAPTCHA_SCRIPT_DEFAULT = "https://www.google.com/recaptcha/api.js"
RECAPTCHA_DIV_CLASS_DEFAULT = "g-recaptcha"
@@ -22,7 +23,7 @@ class RecaptchaWidget:
if not script:
script = RECAPTCHA_SCRIPT_DEFAULT
if params:
- script += "?" + url_encode(params)
+ script += "?" + urlencode(params)
attrs = current_app.config.get("RECAPTCHA_DATA_ATTRS", {})
attrs["sitekey"] = public_key
snippet = " ".join(f'data-{k}="{attrs[k]}"' for k in attrs) # noqa:
B028
Index: Flask-WTF-1.1.1/docs/changes.rst
===================================================================
--- Flask-WTF-1.1.1.orig/docs/changes.rst
+++ Flask-WTF-1.1.1/docs/changes.rst
@@ -1,6 +1,14 @@
Changes
=======
+Version 1.1.2
+-------------
+
+Unreleased
+
+- Fixed Flask 2.3 deprecations of ``werkzeug.urls.url_encode`` and
+ ``flask.Markup`` `:pr:`565` :issue:`561`
+
Version 1.1.1
-------------
Index: Flask-WTF-1.1.1/src/flask_wtf/recaptcha/validators.py
===================================================================
--- Flask-WTF-1.1.1.orig/src/flask_wtf/recaptcha/validators.py
+++ Flask-WTF-1.1.1/src/flask_wtf/recaptcha/validators.py
@@ -1,9 +1,9 @@
import json
from urllib import request as http
+from urllib.parse import urlencode
from flask import current_app
from flask import request
-from werkzeug.urls import url_encode
from wtforms import ValidationError
RECAPTCHA_VERIFY_SERVER_DEFAULT =
"https://www.google.com/recaptcha/api/siteverify"
@@ -54,7 +54,7 @@ class Recaptcha:
if not verify_server:
verify_server = RECAPTCHA_VERIFY_SERVER_DEFAULT
- data = url_encode(
+ data = urlencode(
{"secret": private_key, "remoteip": remote_addr, "response":
response}
)
Index: Flask-WTF-1.1.1/tests/test_recaptcha.py
===================================================================
--- Flask-WTF-1.1.1.orig/tests/test_recaptcha.py
+++ Flask-WTF-1.1.1/tests/test_recaptcha.py
@@ -80,7 +80,6 @@ def test_render_custom_args(app):
app.config["RECAPTCHA_DATA_ATTRS"] = {"red": "blue"}
f = RecaptchaForm()
render = f.recaptcha()
- # new versions of url_encode allow more characters
assert "?key=(value)" in render or "?key=%28value%29" in render
assert 'data-red="blue"' in render