mirror of
https://github.com/element-hq/synapse.git
synced 2024-12-14 11:57:44 +00:00
Add more type hints to synapse.util. (#11321)
This commit is contained in:
parent
2fffcb24d8
commit
b64b6d12d4
3 changed files with 24 additions and 15 deletions
1
changelog.d/11321.misc
Normal file
1
changelog.d/11321.misc
Normal file
|
@ -0,0 +1 @@
|
|||
Add type hints to `synapse.util`.
|
|
@ -98,7 +98,7 @@ def return_json_error(f: failure.Failure, request: SynapseRequest) -> None:
|
|||
"Failed handle request via %r: %r",
|
||||
request.request_metrics.name,
|
||||
request,
|
||||
exc_info=(f.type, f.value, f.getTracebackObject()), # type: ignore
|
||||
exc_info=(f.type, f.value, f.getTracebackObject()), # type: ignore[arg-type]
|
||||
)
|
||||
|
||||
# Only respond with an error response if we haven't already started writing,
|
||||
|
@ -150,7 +150,7 @@ def return_html_error(
|
|||
logger.error(
|
||||
"Failed handle request %r",
|
||||
request,
|
||||
exc_info=(f.type, f.value, f.getTracebackObject()), # type: ignore
|
||||
exc_info=(f.type, f.value, f.getTracebackObject()), # type: ignore[arg-type]
|
||||
)
|
||||
else:
|
||||
code = HTTPStatus.INTERNAL_SERVER_ERROR
|
||||
|
@ -159,7 +159,7 @@ def return_html_error(
|
|||
logger.error(
|
||||
"Failed handle request %r",
|
||||
request,
|
||||
exc_info=(f.type, f.value, f.getTracebackObject()), # type: ignore
|
||||
exc_info=(f.type, f.value, f.getTracebackObject()), # type: ignore[arg-type]
|
||||
)
|
||||
|
||||
if isinstance(error_template, str):
|
||||
|
|
|
@ -16,7 +16,7 @@ import json
|
|||
import logging
|
||||
import re
|
||||
import typing
|
||||
from typing import Any, Callable, Dict, Generator, Pattern
|
||||
from typing import Any, Callable, Dict, Generator, Optional, Pattern
|
||||
|
||||
import attr
|
||||
from frozendict import frozendict
|
||||
|
@ -110,7 +110,9 @@ class Clock:
|
|||
"""Returns the current system time in milliseconds since epoch."""
|
||||
return int(self.time() * 1000)
|
||||
|
||||
def looping_call(self, f: Callable, msec: float, *args, **kwargs) -> LoopingCall:
|
||||
def looping_call(
|
||||
self, f: Callable, msec: float, *args: Any, **kwargs: Any
|
||||
) -> LoopingCall:
|
||||
"""Call a function repeatedly.
|
||||
|
||||
Waits `msec` initially before calling `f` for the first time.
|
||||
|
@ -130,20 +132,22 @@ class Clock:
|
|||
d.addErrback(log_failure, "Looping call died", consumeErrors=False)
|
||||
return call
|
||||
|
||||
def call_later(self, delay, callback, *args, **kwargs) -> IDelayedCall:
|
||||
def call_later(
|
||||
self, delay: float, callback: Callable, *args: Any, **kwargs: Any
|
||||
) -> IDelayedCall:
|
||||
"""Call something later
|
||||
|
||||
Note that the function will be called with no logcontext, so if it is anything
|
||||
other than trivial, you probably want to wrap it in run_as_background_process.
|
||||
|
||||
Args:
|
||||
delay(float): How long to wait in seconds.
|
||||
callback(function): Function to call
|
||||
delay: How long to wait in seconds.
|
||||
callback: Function to call
|
||||
*args: Postional arguments to pass to function.
|
||||
**kwargs: Key arguments to pass to function.
|
||||
"""
|
||||
|
||||
def wrapped_callback(*args, **kwargs):
|
||||
def wrapped_callback(*args: Any, **kwargs: Any) -> None:
|
||||
with context.PreserveLoggingContext():
|
||||
callback(*args, **kwargs)
|
||||
|
||||
|
@ -158,25 +162,29 @@ class Clock:
|
|||
raise
|
||||
|
||||
|
||||
def log_failure(failure, msg, consumeErrors=True):
|
||||
def log_failure(
|
||||
failure: Failure, msg: str, consumeErrors: bool = True
|
||||
) -> Optional[Failure]:
|
||||
"""Creates a function suitable for passing to `Deferred.addErrback` that
|
||||
logs any failures that occur.
|
||||
|
||||
Args:
|
||||
msg (str): Message to log
|
||||
consumeErrors (bool): If true consumes the failure, otherwise passes
|
||||
on down the callback chain
|
||||
failure: The Failure to log
|
||||
msg: Message to log
|
||||
consumeErrors: If true consumes the failure, otherwise passes on down
|
||||
the callback chain
|
||||
|
||||
Returns:
|
||||
func(Failure)
|
||||
The Failure if consumeErrors is false. None, otherwise.
|
||||
"""
|
||||
|
||||
logger.error(
|
||||
msg, exc_info=(failure.type, failure.value, failure.getTracebackObject())
|
||||
msg, exc_info=(failure.type, failure.value, failure.getTracebackObject()) # type: ignore[arg-type]
|
||||
)
|
||||
|
||||
if not consumeErrors:
|
||||
return failure
|
||||
return None
|
||||
|
||||
|
||||
def glob_to_regex(glob: str, word_boundary: bool = False) -> Pattern:
|
||||
|
|
Loading…
Reference in a new issue