diff options
author | V3n3RiX <venerix@koprulu.sector> | 2024-02-03 11:44:27 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2024-02-03 11:44:27 +0000 |
commit | 79e5685b8db7602719212510574962664af2b036 (patch) | |
tree | 9ba712c7c9bf3e76035ea6f13b256516cfb217f9 /dev-python/flask-api | |
parent | ab5404adfda90358dfaba11eba5579f3f2b7f186 (diff) |
gentoo auto-resync : 03:02:2024 - 11:44:27
Diffstat (limited to 'dev-python/flask-api')
-rw-r--r-- | dev-python/flask-api/Manifest | 3 | ||||
-rw-r--r-- | dev-python/flask-api/files/flask-api-3.1-flask-3.patch | 84 | ||||
-rw-r--r-- | dev-python/flask-api/flask-api-3.1-r2.ebuild (renamed from dev-python/flask-api/flask-api-3.1-r1.ebuild) | 9 |
3 files changed, 93 insertions, 3 deletions
diff --git a/dev-python/flask-api/Manifest b/dev-python/flask-api/Manifest index 921d1dd2f2b2..552cbbb72eed 100644 --- a/dev-python/flask-api/Manifest +++ b/dev-python/flask-api/Manifest @@ -1,3 +1,4 @@ +AUX flask-api-3.1-flask-3.patch 2798 BLAKE2B 8e2fd934e90780b3a8849f758a2fad43db3f3560701c38ca027cd6479fbfa1acbbbfcffdb2412114d568907c19dd961c4500c1ae8a44b4a28b00e85a831d34c5 SHA512 3d0a67b95061a143fd6b202365676d07f54c9e753b75c9a8cc2fbd4b5e8f3ed839f577c785a5becd79b856174f0d8b7632c8a8a35db0552700db1b3e1219ecd0 DIST flask-api-3.1.gh.tar.gz 258812 BLAKE2B f62fb820a467575738deda299de33b87efc066dcc468adad28309cd848f6710a91187a599aba05981457fa8bd8c598ba3014639d7b5d3869434eea32a513a08e SHA512 158692b5d90f3c66231e26ee98df0496973a0fd1d9433041c0c19ff9255601af22cac7968273d2b27fc656f48dcf5e600e6eb939c7ed87f1af222d6fc47fc1ba -EBUILD flask-api-3.1-r1.ebuild 828 BLAKE2B 95eaba726c298973dc4e2a3e3580efcf2f239b7d52815bc9fb3cc78e7502e6415d879bc65b6e81ba94a61649a3e2f903eac0ca4f1232be0261256cf8826c430d SHA512 d5d1d32d9a815aca4a6f3483d813a133656ce39b8bf9d9030918a4ea14463992697830d6db72ec8e422b71d099c7adb20c331b40ca8c69111d9030e763cb87a6 +EBUILD flask-api-3.1-r2.ebuild 959 BLAKE2B 960b812bddf3ed2c80c5d8835180dfc00ae82b3295c24c3a25d8e18409333fe0afb385bbb56fe8fac5aa88f6174ef54ddd79111c6525b41416274a905392e8c4 SHA512 32e89ed0c20bbcf74820cc356101d0c9dcb10676bb69ccd665732a34ba97e323dc7f1394a7b77d4f73d3e5c57bbc5a6a8d21d48fb96e7f874c4076197612e3db MISC metadata.xml 728 BLAKE2B 54f369da75822026ef30c2f16efac1a478b1f42b8bde27710c73fb7b974cf70b5c266c182f6efc6096f4efc0c11645a74fd19ca30ab2dfd48af4e65a731983e6 SHA512 a009d75f162e2775ec5fb1eda9c12af46c76094d64952effe1dd9aa74ae3bfcd3dc40e4523cda464c8cc14eed150d8cef2175acd294574752d79f0ff8c97e8e7 diff --git a/dev-python/flask-api/files/flask-api-3.1-flask-3.patch b/dev-python/flask-api/files/flask-api-3.1-flask-3.patch new file mode 100644 index 000000000000..92eddb8d8df0 --- /dev/null +++ b/dev-python/flask-api/files/flask-api-3.1-flask-3.patch @@ -0,0 +1,84 @@ +From 9c998897f67d8aa959dc3005d7d22f36568b6938 Mon Sep 17 00:00:00 2001 +From: Arthur Taylor <arthur@codders.de> +Date: Sat, 21 Oct 2023 09:53:02 +0200 +Subject: [PATCH] Add compatibility code to deal with Flask and Werkzeug + deprecations + +--- + flask_api/helpers.py | 5 +++++ + flask_api/parsers.py | 2 +- + flask_api/renderers.py | 11 +++++++++-- + flask_api/request.py | 2 +- + 4 files changed, 16 insertions(+), 4 deletions(-) + create mode 100644 flask_api/helpers.py + +diff --git a/flask_api/helpers.py b/flask_api/helpers.py +new file mode 100644 +index 0000000..f83dd31 +--- /dev/null ++++ b/flask_api/helpers.py +@@ -0,0 +1,5 @@ ++def url_decode_stream(stream): ++ import urllib ++ body = stream.read() ++ body_str = body.decode() ++ return dict(urllib.parse.parse_qsl(body_str)) +diff --git a/flask_api/parsers.py b/flask_api/parsers.py +index 56f45f6..d056210 100644 +--- a/flask_api/parsers.py ++++ b/flask_api/parsers.py +@@ -2,8 +2,8 @@ + + from werkzeug.formparser import MultiPartParser as WerkzeugMultiPartParser + from werkzeug.formparser import default_stream_factory +-from werkzeug.urls import url_decode_stream + ++from flask_api.helpers import url_decode_stream + from flask_api import exceptions + + +diff --git a/flask_api/renderers.py b/flask_api/renderers.py +index a9aed23..b5951a2 100644 +--- a/flask_api/renderers.py ++++ b/flask_api/renderers.py +@@ -1,8 +1,8 @@ + import pydoc + import re + ++import flask + from flask import current_app, render_template, request +-from flask.globals import _request_ctx_stack + + from flask_api.compat import apply_markdown + from flask_api.mediatypes import MediaType +@@ -95,7 +95,14 @@ def render(self, data, media_type, **options): + mock_content = self._html_escape(text) + + # Determine the allowed methods on this view. +- adapter = _request_ctx_stack.top.url_adapter ++ if hasattr(flask, 'globals') and \ ++ hasattr(flask.globals, 'request_ctx'): ++ # update session for Flask >= 2.2 ++ ctx = flask.globals.request_ctx._get_current_object() ++ else: # pragma: no cover ++ # update session for Flask < 2.2 ++ ctx = flask._request_ctx_stack.top ++ adapter = ctx.url_adapter + allowed_methods = adapter.allowed_methods() + + endpoint = request.url_rule.endpoint +diff --git a/flask_api/request.py b/flask_api/request.py +index 33c3eaa..647dfc6 100644 +--- a/flask_api/request.py ++++ b/flask_api/request.py +@@ -2,9 +2,9 @@ + + from flask import Request + from werkzeug.datastructures import MultiDict +-from werkzeug.urls import url_decode_stream + from werkzeug.wsgi import get_content_length + ++from flask_api.helpers import url_decode_stream + from flask_api.negotiation import DefaultNegotiation + from flask_api.settings import default_settings + diff --git a/dev-python/flask-api/flask-api-3.1-r1.ebuild b/dev-python/flask-api/flask-api-3.1-r2.ebuild index 10d27309b67b..0f0ad223c49c 100644 --- a/dev-python/flask-api/flask-api-3.1-r1.ebuild +++ b/dev-python/flask-api/flask-api-3.1-r2.ebuild @@ -24,13 +24,18 @@ SLOT="0" KEYWORDS="~amd64 ~arm64 ~x86" RDEPEND=" - <dev-python/flask-3[${PYTHON_USEDEP}] + dev-python/flask[${PYTHON_USEDEP}] dev-python/markdown[${PYTHON_USEDEP}] - <dev-python/werkzeug-3[${PYTHON_USEDEP}] + dev-python/werkzeug[${PYTHON_USEDEP}] " distutils_enable_tests pytest +PATCHES=( + # https://github.com/flask-api/flask-api/commit/9c998897f67d8aa959dc3005d7d22f36568b6938 + "${FILESDIR}/${P}-flask-3.patch" +) + python_install_all() { local DOCS=( docs/about/release-notes.md docs/api-guide/* docs/index.md ) distutils-r1_python_install_all |