From dab736366c8a54e960fc04d0b44deb3b052abf75 Mon Sep 17 00:00:00 2001 From: Benjamin A. Beasley Date: May 09 2022 20:34:34 +0000 Subject: Incorporate maintainer’s fixes for backported PR#4488 --- diff --git a/fastapi-0.76.0-pr-4820.patch b/fastapi-0.76.0-pr-4820.patch index bb639e7..2a96c65 100644 --- a/fastapi-0.76.0-pr-4820.patch +++ b/fastapi-0.76.0-pr-4820.patch @@ -1,6 +1,6 @@ diff -Naur fastapi-0.76.0-original/fastapi/applications.py fastapi-0.76.0/fastapi/applications.py --- fastapi-0.76.0-original/fastapi/applications.py 2022-05-05 18:26:05.000000000 -0400 -+++ fastapi-0.76.0/fastapi/applications.py 2022-05-06 09:32:52.568216926 -0400 ++++ fastapi-0.76.0/fastapi/applications.py 2022-05-09 16:32:06.465482694 -0400 @@ -1,5 +1,16 @@ from enum import Enum -from typing import Any, Callable, Coroutine, Dict, List, Optional, Sequence, Type, Union @@ -35,33 +35,22 @@ diff -Naur fastapi-0.76.0-original/fastapi/applications.py fastapi-0.76.0/fastap RequestValidationError, request_validation_exception_handler diff -Naur fastapi-0.76.0-original/fastapi/exceptions.py fastapi-0.76.0/fastapi/exceptions.py --- fastapi-0.76.0-original/fastapi/exceptions.py 2022-05-05 18:26:05.000000000 -0400 -+++ fastapi-0.76.0/fastapi/exceptions.py 2022-05-06 09:34:24.400350806 -0400 -@@ -1,20 +1,8 @@ --from typing import Any, Dict, Optional, Sequence, Type -+from typing import Any, Sequence, Type - - from pydantic import BaseModel, ValidationError, create_model - from pydantic.error_wrappers import ErrorList --from starlette.exceptions import HTTPException as StarletteHTTPException -- -- --class HTTPException(StarletteHTTPException): -- def __init__( -- self, -- status_code: int, -- detail: Any = None, -- headers: Optional[Dict[str, Any]] = None, -- ) -> None: ++++ fastapi-0.76.0/fastapi/exceptions.py 2022-05-09 16:33:27.983512120 -0400 +@@ -12,8 +12,9 @@ + detail: Any = None, + headers: Optional[Dict[str, Any]] = None, + ) -> None: - super().__init__(status_code=status_code, detail=detail) - self.headers = headers -- -+from starlette.exceptions import HTTPException as HTTPException # noqa ++ super().__init__( ++ status_code=status_code, detail=detail, headers=headers # type: ignore ++ ) + RequestErrorModel: Type[BaseModel] = create_model("Request") - WebSocketErrorModel: Type[BaseModel] = create_model("WebSocket") diff -Naur fastapi-0.76.0-original/fastapi/routing.py fastapi-0.76.0/fastapi/routing.py --- fastapi-0.76.0-original/fastapi/routing.py 2022-05-05 18:26:05.000000000 -0400 -+++ fastapi-0.76.0/fastapi/routing.py 2022-05-06 09:35:11.376930840 -0400 ++++ fastapi-0.76.0/fastapi/routing.py 2022-05-09 16:32:06.465482694 -0400 @@ -478,11 +478,11 @@ ), ) -> None: @@ -89,7 +78,7 @@ diff -Naur fastapi-0.76.0-original/fastapi/routing.py fastapi-0.76.0/fastapi/rou route.endpoint, diff -Naur fastapi-0.76.0-original/.github/workflows/test.yml fastapi-0.76.0/.github/workflows/test.yml --- fastapi-0.76.0-original/.github/workflows/test.yml 2022-05-05 18:26:05.000000000 -0400 -+++ fastapi-0.76.0/.github/workflows/test.yml 2022-05-06 09:31:57.835541125 -0400 ++++ fastapi-0.76.0/.github/workflows/test.yml 2022-05-09 16:32:06.465482694 -0400 @@ -12,7 +12,7 @@ runs-on: ubuntu-latest strategy: @@ -101,7 +90,7 @@ diff -Naur fastapi-0.76.0-original/.github/workflows/test.yml fastapi-0.76.0/.gi steps: diff -Naur fastapi-0.76.0-original/pyproject.toml fastapi-0.76.0/pyproject.toml --- fastapi-0.76.0-original/pyproject.toml 2022-05-05 18:26:05.000000000 -0400 -+++ fastapi-0.76.0/pyproject.toml 2022-05-06 09:36:14.127705643 -0400 ++++ fastapi-0.76.0/pyproject.toml 2022-05-09 16:32:51.041045603 -0400 @@ -26,7 +26,6 @@ "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", @@ -128,11 +117,11 @@ diff -Naur fastapi-0.76.0-original/pyproject.toml fastapi-0.76.0/pyproject.toml 'ignore:The loop argument is deprecated since Python 3\.8, and scheduled for removal in Python 3\.10:DeprecationWarning:asyncio', # TODO: remove after dropping support for Python 3.6 'ignore:Python 3.6 is no longer supported by the Python core team. Therefore, support for it is deprecated in cryptography and will be removed in a future release.:UserWarning:jose', -+ 'ignore:starlette.middleware.wsgi is deprecated and will be removed in a future release\..*:DeprecationWarning:starlette' ++ 'ignore:starlette.middleware.wsgi is deprecated and will be removed in a future release\..*:DeprecationWarning:starlette', ] diff -Naur fastapi-0.76.0-original/tests/test_extra_routes.py fastapi-0.76.0/tests/test_extra_routes.py --- fastapi-0.76.0-original/tests/test_extra_routes.py 2022-05-05 18:26:05.000000000 -0400 -+++ fastapi-0.76.0/tests/test_extra_routes.py 2022-05-06 09:36:46.559106083 -0400 ++++ fastapi-0.76.0/tests/test_extra_routes.py 2022-05-09 16:32:06.466482706 -0400 @@ -32,12 +32,12 @@ @app.head("/items/{item_id}") @@ -159,7 +148,7 @@ diff -Naur fastapi-0.76.0-original/tests/test_extra_routes.py fastapi-0.76.0/tes client = TestClient(app) diff -Naur fastapi-0.76.0-original/tests/test_tutorial/test_sql_databases_peewee/test_sql_databases_peewee.py fastapi-0.76.0/tests/test_tutorial/test_sql_databases_peewee/test_sql_databases_peewee.py --- fastapi-0.76.0-original/tests/test_tutorial/test_sql_databases_peewee/test_sql_databases_peewee.py 2022-05-05 18:26:05.000000000 -0400 -+++ fastapi-0.76.0/tests/test_tutorial/test_sql_databases_peewee/test_sql_databases_peewee.py 2022-05-06 09:37:17.144483731 -0400 ++++ fastapi-0.76.0/tests/test_tutorial/test_sql_databases_peewee/test_sql_databases_peewee.py 2022-05-09 16:32:06.466482706 -0400 @@ -5,8 +5,6 @@ import pytest from fastapi.testclient import TestClient @@ -232,7 +221,7 @@ diff -Naur fastapi-0.76.0-original/tests/test_tutorial/test_sql_databases_peewee assert response.status_code == 200, response.text diff -Naur fastapi-0.76.0-original/tests/test_union_inherited_body.py fastapi-0.76.0/tests/test_union_inherited_body.py --- fastapi-0.76.0-original/tests/test_union_inherited_body.py 2022-05-05 18:26:05.000000000 -0400 -+++ fastapi-0.76.0/tests/test_union_inherited_body.py 2022-05-06 09:39:15.484944915 -0400 ++++ fastapi-0.76.0/tests/test_union_inherited_body.py 2022-05-09 16:32:06.466482706 -0400 @@ -4,8 +4,6 @@ from fastapi.testclient import TestClient from pydantic import BaseModel @@ -266,7 +255,7 @@ diff -Naur fastapi-0.76.0-original/tests/test_union_inherited_body.py fastapi-0. assert response.status_code == 200, response.text diff -Naur fastapi-0.76.0-original/tests/utils.py fastapi-0.76.0/tests/utils.py --- fastapi-0.76.0-original/tests/utils.py 2022-05-05 18:26:05.000000000 -0400 -+++ fastapi-0.76.0/tests/utils.py 2022-05-06 09:37:59.052001176 -0400 ++++ fastapi-0.76.0/tests/utils.py 2022-05-09 16:32:06.466482706 -0400 @@ -2,7 +2,6 @@ import pytest diff --git a/python-fastapi.spec b/python-fastapi.spec index 48199e9..8294109 100644 --- a/python-fastapi.spec +++ b/python-fastapi.spec @@ -32,7 +32,16 @@ BuildArch: noarch # https://github.com/tiangolo/fastapi/pull/4488 # # This version has been rebased to apply to 0.76.0. +# +# Additionally, the maintainer’s fixes to PR#4488 were incorporated: +# +# Fix TOML format +# https://github.com/tiangolo/fastapi/commit/b6003a7c8b7bbd31c6ad03083fe563c5b3fc41bf +# +# Re-implement FastAPI's own HTTPException accepting a dict detail +# https://github.com/tiangolo/fastapi/commit/fd46adb8b13b52f4b11479391364b7e7ed89f47b Patch: fastapi-0.76.0-pr-4820.patch + # Fix sql_app_py39 and py310 tests # https://github.com/tiangolo/fastapi/pull/4409 Patch: %{url}/pull/4409.patch