Skip to content

Commit 1023d5a

Browse files
committed
Fix issues with the latest black, mypy, and pytest
This allows the tox tests to pass once again.
1 parent 742e50d commit 1023d5a

12 files changed

+111
-153
lines changed

setup.cfg

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[flake8]
2-
ignore = E203, E252, FI58, W503, W504
2+
ignore = E203, E252, E704, FI58, W503, W504
33
max_line_length = 100
44
min_version = 3.8
55
per-file-ignores =

src/quart/app.py

+15-17
Original file line numberDiff line numberDiff line change
@@ -310,22 +310,22 @@ def __init__(
310310
)
311311

312312
self.after_serving_funcs: list[Callable[[], Awaitable[None]]] = []
313-
self.after_websocket_funcs: dict[
314-
AppOrBlueprintKey, list[AfterWebsocketCallable]
315-
] = defaultdict(list)
313+
self.after_websocket_funcs: dict[AppOrBlueprintKey, list[AfterWebsocketCallable]] = (
314+
defaultdict(list)
315+
)
316316
self.background_tasks: WeakSet[asyncio.Task] = WeakSet()
317317
self.before_serving_funcs: list[Callable[[], Awaitable[None]]] = []
318-
self.before_websocket_funcs: dict[
319-
AppOrBlueprintKey, list[BeforeWebsocketCallable]
320-
] = defaultdict(list)
321-
self.teardown_websocket_funcs: dict[
322-
AppOrBlueprintKey, list[TeardownCallable]
323-
] = defaultdict(list)
318+
self.before_websocket_funcs: dict[AppOrBlueprintKey, list[BeforeWebsocketCallable]] = (
319+
defaultdict(list)
320+
)
321+
self.teardown_websocket_funcs: dict[AppOrBlueprintKey, list[TeardownCallable]] = (
322+
defaultdict(list)
323+
)
324324
self.while_serving_gens: list[AsyncGenerator[None, None]] = []
325325

326326
self.template_context_processors[None] = [_default_template_ctx_processor]
327327

328-
self.cli = AppGroup() # type: ignore[assignment]
328+
self.cli = AppGroup()
329329
self.cli.name = self.name
330330

331331
if self.has_static_folder:
@@ -1092,12 +1092,10 @@ def log_exception(
10921092
self.logger.error("Exception", exc_info=exception_info)
10931093

10941094
@overload
1095-
def ensure_async(self, func: Callable[P, Awaitable[T]]) -> Callable[P, Awaitable[T]]:
1096-
...
1095+
def ensure_async(self, func: Callable[P, Awaitable[T]]) -> Callable[P, Awaitable[T]]: ...
10971096

10981097
@overload
1099-
def ensure_async(self, func: Callable[P, T]) -> Callable[P, Awaitable[T]]:
1100-
...
1098+
def ensure_async(self, func: Callable[P, T]) -> Callable[P, Awaitable[T]]: ...
11011099

11021100
def ensure_async(
11031101
self, func: Union[Callable[P, Awaitable[T]], Callable[P, T]]
@@ -1356,7 +1354,7 @@ async def make_response(self, result: ResponseReturnValue | HTTPException) -> Re
13561354
):
13571355
response = self.response_class(value)
13581356
elif isinstance(value, (list, dict)):
1359-
response = self.json.response(value)
1357+
response = self.json.response(value) # type: ignore[assignment]
13601358
else:
13611359
raise TypeError(f"The response value type ({type(value).__name__}) is not valid")
13621360
else:
@@ -1503,7 +1501,7 @@ async def dispatch_request(
15031501
return await self.make_default_options_response()
15041502

15051503
handler = self.view_functions[request_.url_rule.endpoint]
1506-
return await self.ensure_async(handler)(**request_.view_args)
1504+
return await self.ensure_async(handler)(**request_.view_args) # type: ignore
15071505

15081506
async def dispatch_websocket(
15091507
self, websocket_context: WebsocketContext | None = None
@@ -1519,7 +1517,7 @@ async def dispatch_websocket(
15191517
self.raise_routing_exception(websocket_)
15201518

15211519
handler = self.view_functions[websocket_.url_rule.endpoint]
1522-
return await self.ensure_async(handler)(**websocket_.view_args)
1520+
return await self.ensure_async(handler)(**websocket_.view_args) # type: ignore
15231521

15241522
async def finalize_request(
15251523
self,

src/quart/blueprints.py

+13-13
Original file line numberDiff line numberDiff line change
@@ -55,15 +55,15 @@ class Blueprint(SansioBlueprint):
5555
def __init__(self, *args: t.Any, **kwargs: t.Any) -> None:
5656
super().__init__(*args, **kwargs)
5757

58-
self.cli = AppGroup() # type: ignore[assignment]
58+
self.cli = AppGroup()
5959
self.cli.name = self.name
6060

61-
self.after_websocket_funcs: t.Dict[
62-
AppOrBlueprintKey, t.List[AfterWebsocketCallable]
63-
] = defaultdict(list)
64-
self.before_websocket_funcs: t.Dict[
65-
AppOrBlueprintKey, t.List[BeforeWebsocketCallable]
66-
] = defaultdict(list)
61+
self.after_websocket_funcs: t.Dict[AppOrBlueprintKey, t.List[AfterWebsocketCallable]] = (
62+
defaultdict(list)
63+
)
64+
self.before_websocket_funcs: t.Dict[AppOrBlueprintKey, t.List[BeforeWebsocketCallable]] = (
65+
defaultdict(list)
66+
)
6767

6868
def get_send_file_max_age(self, filename: str | None) -> int | None:
6969
"""Used by :func:`send_file` to determine the ``max_age`` cache
@@ -279,7 +279,7 @@ def before():
279279
...
280280
281281
"""
282-
self.record_once(lambda state: state.app.before_websocket(func))
282+
self.record_once(lambda state: state.app.before_websocket(func)) # type: ignore
283283
return func
284284

285285
@setupmethod
@@ -297,7 +297,7 @@ def before():
297297
...
298298
299299
"""
300-
self.record_once(lambda state: state.app.before_serving(func))
300+
self.record_once(lambda state: state.app.before_serving(func)) # type: ignore
301301
return func
302302

303303
@setupmethod
@@ -315,7 +315,7 @@ def after_app_websocket(self, func: T_after_websocket) -> T_after_websocket:
315315
def after():
316316
...
317317
"""
318-
self.record_once(lambda state: state.app.after_websocket(func))
318+
self.record_once(lambda state: state.app.after_websocket(func)) # type: ignore[attr-defined]
319319
return func
320320

321321
@setupmethod
@@ -332,7 +332,7 @@ def after_app_serving(self, func: T_after_serving) -> T_after_serving:
332332
def after():
333333
...
334334
"""
335-
self.record_once(lambda state: state.app.after_serving(func))
335+
self.record_once(lambda state: state.app.after_serving(func)) # type: ignore[attr-defined]
336336
return func
337337

338338
@setupmethod
@@ -351,7 +351,7 @@ async def func():
351351
... # Shutdown
352352
353353
"""
354-
self.record_once(lambda state: state.app.while_serving(func))
354+
self.record_once(lambda state: state.app.while_serving(func)) # type: ignore[attr-defined]
355355
return func
356356

357357
@setupmethod
@@ -370,7 +370,7 @@ def teardown_app_websocket(self, func: T_teardown) -> T_teardown:
370370
def teardown():
371371
...
372372
"""
373-
self.record_once(lambda state: state.app.teardown_websocket(func))
373+
self.record_once(lambda state: state.app.teardown_websocket(func)) # type: ignore
374374
return func
375375

376376
def _merge_blueprint_funcs(self, app: App, name: str) -> None:

src/quart/ctx.py

-1
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,6 @@ async def __aenter__(self) -> WebsocketContext:
215215

216216

217217
class AppContext:
218-
219218
"""The context relating to the app bound to the current task.
220219
221220
Do not use directly, prefer the

src/quart/sessions.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -157,8 +157,9 @@ async def open_session(
157157
cookie = request.cookies.get(self.get_cookie_name(app))
158158
if cookie is None:
159159
return self.session_class()
160+
max_age = int(app.permanent_session_lifetime.total_seconds())
160161
try:
161-
data = signer.loads(cookie, max_age=app.permanent_session_lifetime.total_seconds())
162+
data = signer.loads(cookie, max_age=max_age)
162163
return self.session_class(data)
163164
except BadSignature:
164165
return self.session_class()

src/quart/testing/utils.py

+2-4
Original file line numberDiff line numberDiff line change
@@ -146,8 +146,7 @@ def make_test_scope(
146146
scope_base: dict | None,
147147
*,
148148
_preserve_context: bool = False,
149-
) -> HTTPScope:
150-
...
149+
) -> HTTPScope: ...
151150

152151

153152
@overload
@@ -163,8 +162,7 @@ def make_test_scope(
163162
scope_base: dict | None,
164163
*,
165164
_preserve_context: bool = False,
166-
) -> WebsocketScope:
167-
...
165+
) -> WebsocketScope: ...
168166

169167

170168
def make_test_scope(

0 commit comments

Comments
 (0)