git: 361d91e43dba - main - www/py-flask-restx: update to 1.3.0
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 10 Dec 2023 18:39:21 UTC
The branch main has been updated by jbeich: URL: https://cgit.FreeBSD.org/ports/commit/?id=361d91e43dbad4e4b881e8a62f93ed1b9ed191e5 commit 361d91e43dbad4e4b881e8a62f93ed1b9ed191e5 Author: Jan Beich <jbeich@FreeBSD.org> AuthorDate: 2023-12-10 14:48:32 +0000 Commit: Jan Beich <jbeich@FreeBSD.org> CommitDate: 2023-12-10 18:38:50 +0000 www/py-flask-restx: update to 1.3.0 Changes: https://github.com/python-restx/flask-restx/releases/tag/1.3.0 Reported by: GitHub (watch releases) --- www/py-flask-restx/Makefile | 3 +- www/py-flask-restx/distinfo | 6 +- www/py-flask-restx/files/patch-flask3 | 127 ---------------------------------- 3 files changed, 4 insertions(+), 132 deletions(-) diff --git a/www/py-flask-restx/Makefile b/www/py-flask-restx/Makefile index 17e095205d63..3e7b4fc9f51c 100644 --- a/www/py-flask-restx/Makefile +++ b/www/py-flask-restx/Makefile @@ -1,6 +1,5 @@ PORTNAME= flask-restx -PORTVERSION= 1.2.0 -PORTREVISION= 1 +PORTVERSION= 1.3.0 CATEGORIES= www python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} diff --git a/www/py-flask-restx/distinfo b/www/py-flask-restx/distinfo index 2580e6955d02..423ad8667b77 100644 --- a/www/py-flask-restx/distinfo +++ b/www/py-flask-restx/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1697977240 -SHA256 (flask-restx-1.2.0.tar.gz) = 9a5338b108c57fbed1d24d5d53fe98442b2be7ffa2ff3291305af7a613ce6fc0 -SIZE (flask-restx-1.2.0.tar.gz) = 2813317 +TIMESTAMP = 1702219712 +SHA256 (flask-restx-1.3.0.tar.gz) = 4f3d3fa7b6191fcc715b18c201a12cd875176f92ba4acc61626ccfd571ee1728 +SIZE (flask-restx-1.3.0.tar.gz) = 2814072 diff --git a/www/py-flask-restx/files/patch-flask3 b/www/py-flask-restx/files/patch-flask3 deleted file mode 100644 index 22887f79e25f..000000000000 --- a/www/py-flask-restx/files/patch-flask3 +++ /dev/null @@ -1,127 +0,0 @@ -https://github.com/python-restx/flask-restx/pull/572 - ---- flask_restx/api.py.orig 2023-10-22 12:20:40 UTC -+++ flask_restx/api.py -@@ -14,10 +14,6 @@ from flask import make_response as original_flask_make - from flask import url_for, request, current_app - from flask import make_response as original_flask_make_response - --try: -- from flask.helpers import _endpoint_from_view_func --except ImportError: -- from flask.scaffold import _endpoint_from_view_func - from flask.signals import got_request_exception - - from jsonschema import RefResolver -@@ -45,10 +41,13 @@ from .swagger import Swagger - from .postman import PostmanCollectionV1 - from .resource import Resource - from .swagger import Swagger --from .utils import default_id, camel_to_dash, unpack -+from .utils import default_id, camel_to_dash, unpack, import_check_view_func - from .representations import output_json - from ._http import HTTPStatus - -+endpoint_from_view_func = import_check_view_func() -+ -+ - RE_RULES = re.compile("(<.*>)") - - # List headers that should never be handled by Flask-RESTX -@@ -850,7 +849,7 @@ class Api(object): - rule = blueprint_setup.url_prefix + rule - options.setdefault("subdomain", blueprint_setup.subdomain) - if endpoint is None: -- endpoint = _endpoint_from_view_func(view_func) -+ endpoint = endpoint_from_view_func(view_func) - defaults = blueprint_setup.url_defaults - if "defaults" in options: - defaults = dict(defaults, **options.pop("defaults")) ---- flask_restx/utils.py.orig 2023-10-22 12:20:40 UTC -+++ flask_restx/utils.py -@@ -1,4 +1,6 @@ import re - import re -+import warnings -+import typing - - from collections import OrderedDict - from copy import deepcopy -@@ -17,9 +19,14 @@ __all__ = ( - "not_none", - "not_none_sorted", - "unpack", -+ "import_check_view_func", - ) - - -+class FlaskCompatibilityWarning(DeprecationWarning): -+ pass -+ -+ - def merge(first, second): - """ - Recursively merges two dictionaries. -@@ -118,3 +125,43 @@ def unpack(response, default_code=HTTPStatus.OK): - return data, code or default_code, headers - else: - raise ValueError("Too many response values") -+ -+ -+def to_view_name(view_func: typing.Callable) -> str: -+ """Helper that returns the default endpoint for a given -+ function. This always is the function name. -+ -+ Note: copy of simple flask internal helper -+ """ -+ assert view_func is not None, "expected view func if endpoint is not provided." -+ return view_func.__name__ -+ -+ -+def import_check_view_func(): -+ """ -+ Resolve import flask _endpoint_from_view_func. -+ -+ Show warning if function cannot be found and provide copy of last known implementation. -+ -+ Note: This helper method exists because reoccurring problem with flask function, but -+ actual method body remaining the same in each flask version. -+ """ -+ import importlib.metadata -+ -+ flask_version = importlib.metadata.version("flask").split(".") -+ try: -+ if flask_version[0] == "1": -+ from flask.helpers import _endpoint_from_view_func -+ elif flask_version[0] == "2": -+ from flask.scaffold import _endpoint_from_view_func -+ elif flask_version[0] == "3": -+ from flask.sansio.scaffold import _endpoint_from_view_func -+ else: -+ warnings.simplefilter("once", FlaskCompatibilityWarning) -+ _endpoint_from_view_func = None -+ except ImportError: -+ warnings.simplefilter("once", FlaskCompatibilityWarning) -+ _endpoint_from_view_func = None -+ if _endpoint_from_view_func is None: -+ _endpoint_from_view_func = to_view_name -+ return _endpoint_from_view_func ---- tests/test_utils.py.orig 2023-10-22 12:20:40 UTC -+++ tests/test_utils.py -@@ -98,3 +98,17 @@ class UnpackTest(object): - def test_too_many_values(self): - with pytest.raises(ValueError): - utils.unpack((None, None, None, None)) -+ -+ -+class ToViewNameTest(object): -+ def test_none(self): -+ with pytest.raises(AssertionError): -+ _ = utils.to_view_name(None) -+ -+ def test_name(self): -+ assert utils.to_view_name(self.test_none) == self.test_none.__name__ -+ -+ -+class ImportCheckViewFuncTest(object): -+ def test_callable(self): -+ assert callable(utils.import_check_view_func())