Skip to content

Commit b2299ad

Browse files
committed
Fix ruff
1 parent 736dff7 commit b2299ad

File tree

14 files changed

+218
-305
lines changed

14 files changed

+218
-305
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/openapi.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -451,7 +451,7 @@ def _collect_openapi_info(
451451
components_schemas=self.components_schemas,
452452
operation=operation,
453453
request_body_description=request_body_description,
454-
request_body_required=request_body_required
454+
request_body_required=request_body_required,
455455
)
456456
else:
457457
return parse_parameters(func, doc_ui=False)

flask_openapi3/request.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,16 @@
33
# @Time : 2022/4/1 16:54
44
import inspect
55
import json
6+
from functools import wraps
67
from json import JSONDecodeError
7-
from types import UnionType
88
from typing import Any, Optional, Type, Union, get_args, get_origin
9-
from functools import wraps
9+
10+
try:
11+
from types import UnionType # type: ignore
12+
except ImportError: # pragma: no cover
13+
# python < 3.10
14+
UnionType = Union # type: ignore
15+
1016
from flask import abort, current_app, request
1117
from pydantic import BaseModel, RootModel, ValidationError
1218
from pydantic.fields import FieldInfo

flask_openapi3/scaffold.py

Lines changed: 123 additions & 127 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]})
@@ -250,23 +249,23 @@ def decorator(func) -> Callable:
250249
return decorator
251250

252251
def put(
253-
self,
254-
rule: str,
255-
*,
256-
tags: Optional[list[Tag]] = None,
257-
summary: Optional[str] = None,
258-
description: Optional[str] = None,
259-
external_docs: Optional[ExternalDocumentation] = None,
260-
operation_id: Optional[str] = None,
261-
responses: Optional[ResponseDict] = None,
262-
deprecated: Optional[bool] = None,
263-
security: Optional[list[dict[str, list[Any]]]] = None,
264-
servers: Optional[list[Server]] = None,
265-
openapi_extensions: Optional[dict[str, Any]] = None,
266-
request_body_description: Optional[str] = None,
267-
request_body_required: Optional[bool] = True,
268-
doc_ui: bool = True,
269-
**options: Any,
252+
self,
253+
rule: str,
254+
*,
255+
tags: Optional[list[Tag]] = None,
256+
summary: Optional[str] = None,
257+
description: Optional[str] = None,
258+
external_docs: Optional[ExternalDocumentation] = None,
259+
operation_id: Optional[str] = None,
260+
responses: Optional[ResponseDict] = None,
261+
deprecated: Optional[bool] = None,
262+
security: Optional[list[dict[str, list[Any]]]] = None,
263+
servers: Optional[list[Server]] = None,
264+
openapi_extensions: Optional[dict[str, Any]] = None,
265+
request_body_description: Optional[str] = None,
266+
request_body_required: Optional[bool] = True,
267+
doc_ui: bool = True,
268+
**options: Any,
270269
) -> Callable:
271270
"""
272271
Decorator for defining a REST API endpoint with the HTTP PUT method.
@@ -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]})
@@ -319,23 +317,23 @@ def decorator(func) -> Callable:
319317
return decorator
320318

321319
def delete(
322-
self,
323-
rule: str,
324-
*,
325-
tags: Optional[list[Tag]] = None,
326-
summary: Optional[str] = None,
327-
description: Optional[str] = None,
328-
external_docs: Optional[ExternalDocumentation] = None,
329-
operation_id: Optional[str] = None,
330-
responses: Optional[ResponseDict] = None,
331-
deprecated: Optional[bool] = None,
332-
security: Optional[list[dict[str, list[Any]]]] = None,
333-
servers: Optional[list[Server]] = None,
334-
openapi_extensions: Optional[dict[str, Any]] = None,
335-
request_body_description: Optional[str] = None,
336-
request_body_required: Optional[bool] = True,
337-
doc_ui: bool = True,
338-
**options: Any,
320+
self,
321+
rule: str,
322+
*,
323+
tags: Optional[list[Tag]] = None,
324+
summary: Optional[str] = None,
325+
description: Optional[str] = None,
326+
external_docs: Optional[ExternalDocumentation] = None,
327+
operation_id: Optional[str] = None,
328+
responses: Optional[ResponseDict] = None,
329+
deprecated: Optional[bool] = None,
330+
security: Optional[list[dict[str, list[Any]]]] = None,
331+
servers: Optional[list[Server]] = None,
332+
openapi_extensions: Optional[dict[str, Any]] = None,
333+
request_body_description: Optional[str] = None,
334+
request_body_required: Optional[bool] = True,
335+
doc_ui: bool = True,
336+
**options: Any,
339337
) -> Callable:
340338
"""
341339
Decorator for defining a REST API endpoint with the HTTP DELETE method.
@@ -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]})
@@ -388,23 +385,23 @@ def decorator(func) -> Callable:
388385
return decorator
389386

390387
def patch(
391-
self,
392-
rule: str,
393-
*,
394-
tags: Optional[list[Tag]] = None,
395-
summary: Optional[str] = None,
396-
description: Optional[str] = None,
397-
external_docs: Optional[ExternalDocumentation] = None,
398-
operation_id: Optional[str] = None,
399-
responses: Optional[ResponseDict] = None,
400-
deprecated: Optional[bool] = None,
401-
security: Optional[list[dict[str, list[Any]]]] = None,
402-
servers: Optional[list[Server]] = None,
403-
openapi_extensions: Optional[dict[str, Any]] = None,
404-
request_body_description: Optional[str] = None,
405-
request_body_required: Optional[bool] = True,
406-
doc_ui: bool = True,
407-
**options: Any,
388+
self,
389+
rule: str,
390+
*,
391+
tags: Optional[list[Tag]] = None,
392+
summary: Optional[str] = None,
393+
description: Optional[str] = None,
394+
external_docs: Optional[ExternalDocumentation] = None,
395+
operation_id: Optional[str] = None,
396+
responses: Optional[ResponseDict] = None,
397+
deprecated: Optional[bool] = None,
398+
security: Optional[list[dict[str, list[Any]]]] = None,
399+
servers: Optional[list[Server]] = None,
400+
openapi_extensions: Optional[dict[str, Any]] = None,
401+
request_body_description: Optional[str] = None,
402+
request_body_required: Optional[bool] = True,
403+
doc_ui: bool = True,
404+
**options: Any,
408405
) -> Callable:
409406
"""
410407
Decorator for defining a REST API endpoint with the HTTP PATCH method.
@@ -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/types.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# @Author : llc
33
# @Time : 2023/7/9 15:25
44
from http import HTTPStatus
5-
from typing import Union, Type, Any, Optional, TypeVar
5+
from typing import Any, Optional, Type, TypeVar, Union
66

77
from pydantic import BaseModel
88

0 commit comments

Comments
 (0)