Skip to content

Commit 0c5fee0

Browse files
committed
Fix ruff
1 parent 0e98836 commit 0c5fee0

File tree

14 files changed

+153
-247
lines changed

14 files changed

+153
-247
lines changed

examples/multi_content_type.py

Lines changed: 5 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -13,41 +13,25 @@ class DogBody(BaseModel):
1313
a: int = None
1414
b: str = None
1515

16-
model_config = {
17-
"openapi_extra": {
18-
"content_type": "application/vnd.dog+json"
19-
}
20-
}
16+
model_config = {"openapi_extra": {"content_type": "application/vnd.dog+json"}}
2117

2218

2319
class CatBody(BaseModel):
2420
c: int = None
2521
d: str = None
2622

27-
model_config = {
28-
"openapi_extra": {
29-
"content_type": "application/vnd.cat+json"
30-
}
31-
}
23+
model_config = {"openapi_extra": {"content_type": "application/vnd.cat+json"}}
3224

3325

3426
class BsonModel(BaseModel):
3527
e: int = None
3628
f: str = None
3729

38-
model_config = {
39-
"openapi_extra": {
40-
"content_type": "application/bson"
41-
}
42-
}
30+
model_config = {"openapi_extra": {"content_type": "application/bson"}}
4331

4432

4533
class ContentTypeModel(BaseModel):
46-
model_config = {
47-
"openapi_extra": {
48-
"content_type": "text/csv"
49-
}
50-
}
34+
model_config = {"openapi_extra": {"content_type": "text/csv"}}
5135

5236

5337
@app.post("/a", responses={200: DogBody | CatBody | ContentTypeModel | BsonModel})
@@ -77,5 +61,5 @@ def index_a(body: DogBody | CatBody | ContentTypeModel | BsonModel):
7761
return {"hello": "world"}
7862

7963

80-
if __name__ == '__main__':
64+
if __name__ == "__main__":
8165
app.run(debug=True)

flask_openapi3/blueprint.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,7 @@ def _collect_openapi_info(
200200
components_schemas=self.components_schemas,
201201
operation=operation,
202202
request_body_description=request_body_description,
203-
request_body_required=request_body_required
203+
request_body_required=request_body_required,
204204
)
205205
else:
206206
return parse_parameters(func, doc_ui=False)

flask_openapi3/models/__init__.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@
99
https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#table-of-contents
1010
"""
1111

12-
from typing import Optional, Union
13-
1412
from flask import Request
1513
from pydantic import BaseModel
1614

flask_openapi3/models/path_item.py

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,14 @@
11
# -*- coding: utf-8 -*-
22
# @Author : llc
33
# @Time : 2023/7/4 9:50
4-
import typing
5-
from typing import Optional
64

75
from pydantic import BaseModel, Field
86

7+
from .operation import Operation
98
from .parameter import Parameter
109
from .reference import Reference
1110
from .server import Server
1211

13-
if typing.TYPE_CHECKING: # pragma: no cover
14-
from .operation import Operation
15-
1612

1713
class PathItem(BaseModel):
1814
"""
@@ -22,14 +18,14 @@ class PathItem(BaseModel):
2218
ref: str | None = Field(default=None, alias="$ref")
2319
summary: str | None = None
2420
description: str | None = None
25-
get: Optional["Operation"] = None
26-
put: Optional["Operation"] = None
27-
post: Optional["Operation"] = None
28-
delete: Optional["Operation"] = None
29-
options: Optional["Operation"] = None
30-
head: Optional["Operation"] = None
31-
patch: Optional["Operation"] = None
32-
trace: Optional["Operation"] = None
21+
get: Operation | None = None
22+
put: Operation | None = None
23+
post: Operation | None = None
24+
delete: Operation | None = None
25+
options: Operation | None = None
26+
head: Operation | None = None
27+
patch: Operation | None = None
28+
trace: Operation | None = None
3329
servers: list[Server] | None = None
3430
parameters: list[Parameter | Reference] | None = None
3531

flask_openapi3/openapi.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -446,7 +446,7 @@ def _collect_openapi_info(
446446
components_schemas=self.components_schemas,
447447
operation=operation,
448448
request_body_description=request_body_description,
449-
request_body_required=request_body_required
449+
request_body_required=request_body_required,
450450
)
451451
else:
452452
return parse_parameters(func, doc_ui=False)

flask_openapi3/scaffold.py

Lines changed: 72 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -221,25 +221,24 @@ def post(
221221
"""
222222

223223
def decorator(func) -> Callable:
224-
header, cookie, path, query, form, body, raw = \
225-
self._collect_openapi_info(
226-
rule,
227-
func,
228-
tags=tags,
229-
summary=summary,
230-
description=description,
231-
external_docs=external_docs,
232-
operation_id=operation_id,
233-
responses=responses,
234-
deprecated=deprecated,
235-
security=security,
236-
servers=servers,
237-
openapi_extensions=openapi_extensions,
238-
request_body_description=request_body_description,
239-
request_body_required=request_body_required,
240-
doc_ui=doc_ui,
241-
method=HTTPMethod.POST,
242-
)
224+
header, cookie, path, query, form, body, raw = self._collect_openapi_info(
225+
rule,
226+
func,
227+
tags=tags,
228+
summary=summary,
229+
description=description,
230+
external_docs=external_docs,
231+
operation_id=operation_id,
232+
responses=responses,
233+
deprecated=deprecated,
234+
security=security,
235+
servers=servers,
236+
openapi_extensions=openapi_extensions,
237+
request_body_description=request_body_description,
238+
request_body_required=request_body_required,
239+
doc_ui=doc_ui,
240+
method=HTTPMethod.POST,
241+
)
243242

244243
view_func = self.create_view_func(func, header, cookie, path, query, form, body, raw)
245244
options.update({"methods": [HTTPMethod.POST]})
@@ -290,25 +289,24 @@ def put(
290289
"""
291290

292291
def decorator(func) -> Callable:
293-
header, cookie, path, query, form, body, raw = \
294-
self._collect_openapi_info(
295-
rule,
296-
func,
297-
tags=tags,
298-
summary=summary,
299-
description=description,
300-
external_docs=external_docs,
301-
operation_id=operation_id,
302-
responses=responses,
303-
deprecated=deprecated,
304-
security=security,
305-
servers=servers,
306-
openapi_extensions=openapi_extensions,
307-
request_body_description=request_body_description,
308-
request_body_required=request_body_required,
309-
doc_ui=doc_ui,
310-
method=HTTPMethod.PUT,
311-
)
292+
header, cookie, path, query, form, body, raw = self._collect_openapi_info(
293+
rule,
294+
func,
295+
tags=tags,
296+
summary=summary,
297+
description=description,
298+
external_docs=external_docs,
299+
operation_id=operation_id,
300+
responses=responses,
301+
deprecated=deprecated,
302+
security=security,
303+
servers=servers,
304+
openapi_extensions=openapi_extensions,
305+
request_body_description=request_body_description,
306+
request_body_required=request_body_required,
307+
doc_ui=doc_ui,
308+
method=HTTPMethod.PUT,
309+
)
312310

313311
view_func = self.create_view_func(func, header, cookie, path, query, form, body, raw)
314312
options.update({"methods": [HTTPMethod.PUT]})
@@ -359,25 +357,24 @@ def delete(
359357
"""
360358

361359
def decorator(func) -> Callable:
362-
header, cookie, path, query, form, body, raw = \
363-
self._collect_openapi_info(
364-
rule,
365-
func,
366-
tags=tags,
367-
summary=summary,
368-
description=description,
369-
external_docs=external_docs,
370-
operation_id=operation_id,
371-
responses=responses,
372-
deprecated=deprecated,
373-
security=security,
374-
servers=servers,
375-
openapi_extensions=openapi_extensions,
376-
request_body_description=request_body_description,
377-
request_body_required=request_body_required,
378-
doc_ui=doc_ui,
379-
method=HTTPMethod.DELETE,
380-
)
360+
header, cookie, path, query, form, body, raw = self._collect_openapi_info(
361+
rule,
362+
func,
363+
tags=tags,
364+
summary=summary,
365+
description=description,
366+
external_docs=external_docs,
367+
operation_id=operation_id,
368+
responses=responses,
369+
deprecated=deprecated,
370+
security=security,
371+
servers=servers,
372+
openapi_extensions=openapi_extensions,
373+
request_body_description=request_body_description,
374+
request_body_required=request_body_required,
375+
doc_ui=doc_ui,
376+
method=HTTPMethod.DELETE,
377+
)
381378

382379
view_func = self.create_view_func(func, header, cookie, path, query, form, body, raw)
383380
options.update({"methods": [HTTPMethod.DELETE]})
@@ -428,25 +425,24 @@ def patch(
428425
"""
429426

430427
def decorator(func) -> Callable:
431-
header, cookie, path, query, form, body, raw = \
432-
self._collect_openapi_info(
433-
rule,
434-
func,
435-
tags=tags,
436-
summary=summary,
437-
description=description,
438-
external_docs=external_docs,
439-
operation_id=operation_id,
440-
responses=responses,
441-
deprecated=deprecated,
442-
security=security,
443-
servers=servers,
444-
openapi_extensions=openapi_extensions,
445-
request_body_description=request_body_description,
446-
request_body_required=request_body_required,
447-
doc_ui=doc_ui,
448-
method=HTTPMethod.PATCH,
449-
)
428+
header, cookie, path, query, form, body, raw = self._collect_openapi_info(
429+
rule,
430+
func,
431+
tags=tags,
432+
summary=summary,
433+
description=description,
434+
external_docs=external_docs,
435+
operation_id=operation_id,
436+
responses=responses,
437+
deprecated=deprecated,
438+
security=security,
439+
servers=servers,
440+
openapi_extensions=openapi_extensions,
441+
request_body_description=request_body_description,
442+
request_body_required=request_body_required,
443+
doc_ui=doc_ui,
444+
method=HTTPMethod.PATCH,
445+
)
450446

451447
view_func = self.create_view_func(func, header, cookie, path, query, form, body, raw)
452448
options.update({"methods": [HTTPMethod.PATCH]})

flask_openapi3/utils.py

Lines changed: 14 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,19 @@
77
import sys
88
from enum import Enum
99
from http import HTTPStatus
10-
from typing import Any, Callable, DefaultDict, Optional, Type, get_type_hints, Union
1110
from types import UnionType
12-
from typing import Any, Callable, DefaultDict, Type, get_type_hints, get_origin, get_args
11+
from typing import (
12+
Any,
13+
Callable,
14+
DefaultDict,
15+
Type,
16+
Union,
17+
get_args,
18+
get_origin,
19+
get_type_hints,
20+
)
1321

1422
from flask import current_app, make_response
15-
from typing import Dict, Type, Callable, List, Tuple, Optional, Any, DefaultDict, Union
16-
from typing import get_args, get_origin, get_type_hints
17-
18-
19-
from flask import make_response, current_app
2023
from flask.wrappers import Response as FlaskResponse
2124
from pydantic import BaseModel, ValidationError
2225
from pydantic.json_schema import JsonSchemaMode
@@ -364,11 +367,7 @@ def _parse_body(_model):
364367
return content, components_schemas
365368

366369

367-
def get_responses(
368-
responses: ResponseStrKeyDict,
369-
components_schemas: dict,
370-
operation: Operation
371-
) -> None:
370+
def get_responses(responses: ResponseStrKeyDict, components_schemas: dict, operation: Operation) -> None:
372371
_responses: dict = {}
373372
_schemas: dict = {}
374373

@@ -383,10 +382,7 @@ def _parse_response(_key, _model):
383382
if _responses.get(_key):
384383
_responses[_key].content[content_type] = media_type
385384
else:
386-
_responses[_key] = Response(
387-
description=HTTP_STATUS.get(_key, ""),
388-
content={content_type: media_type}
389-
)
385+
_responses[_key] = Response(description=HTTP_STATUS.get(_key, ""), content={content_type: media_type})
390386
return
391387

392388
schema = get_model_schema(_model, mode="serialization")
@@ -407,10 +403,7 @@ def _parse_response(_key, _model):
407403
if _responses.get(_key):
408404
_responses[_key].content[content_type] = media_type
409405
else:
410-
_responses[_key] = Response(
411-
description=HTTP_STATUS.get(_key, ""),
412-
content={content_type: media_type}
413-
)
406+
_responses[_key] = Response(description=HTTP_STATUS.get(_key, ""), content={content_type: media_type})
414407

415408
_schemas[name] = Schema(**schema)
416409
definitions = schema.get("$defs")
@@ -455,10 +448,7 @@ def _parse_response(_key, _model):
455448

456449

457450
def parse_and_store_tags(
458-
new_tags: list[Tag],
459-
old_tags: list[Tag],
460-
old_tag_names: list[str],
461-
operation: Operation
451+
new_tags: list[Tag], old_tags: list[Tag], old_tag_names: list[str], operation: Operation
462452
) -> None:
463453
"""
464454
Parses new tags, stores them in an old_tags list if they are not already present,

flask_openapi3/view.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -176,10 +176,11 @@ def decorator(func):
176176

177177
# Parse parameters
178178
parse_parameters(
179-
func, components_schemas=self.components_schemas,
179+
func,
180+
components_schemas=self.components_schemas,
180181
operation=operation,
181182
request_body_description=request_body_description,
182-
request_body_required=request_body_required
183+
request_body_required=request_body_required,
183184
)
184185

185186
# Parse response

0 commit comments

Comments
 (0)