summaryrefslogtreecommitdiff
path: root/dev-python/flask-api
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-02-03 11:44:27 +0000
committerV3n3RiX <venerix@koprulu.sector>2024-02-03 11:44:27 +0000
commit79e5685b8db7602719212510574962664af2b036 (patch)
tree9ba712c7c9bf3e76035ea6f13b256516cfb217f9 /dev-python/flask-api
parentab5404adfda90358dfaba11eba5579f3f2b7f186 (diff)
gentoo auto-resync : 03:02:2024 - 11:44:27
Diffstat (limited to 'dev-python/flask-api')
-rw-r--r--dev-python/flask-api/Manifest3
-rw-r--r--dev-python/flask-api/files/flask-api-3.1-flask-3.patch84
-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