commit python-Flask-WTF for openSUSE:Factory
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 <steven.kowalik@suse.com> + +- 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 flask@python.org 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-a... +.. _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#st... + + +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... +.. _create a pull request: https://docs.github.com/en/github/collaborating-with-issues-and-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) - -@babel.localeselector 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 <matthew-shaw@users.noreply.github.com> 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
participants (1)
-
Source-Sync