mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-05-05 14:14:56 -04:00
Fix up type hints for Twisted 21.7 (#10490)
Mostly this involves decorating a few Deferred declarations with extra type hints. We wrap the types in quotes to avoid runtime errors when running against older versions of Twisted that don't have generics on Deferred.
This commit is contained in:
parent
9643dfde6a
commit
d9cb658c78
6 changed files with 25 additions and 15 deletions
|
@ -16,7 +16,16 @@
|
|||
|
||||
import enum
|
||||
import threading
|
||||
from typing import Callable, Generic, Iterable, MutableMapping, Optional, TypeVar, Union
|
||||
from typing import (
|
||||
Callable,
|
||||
Generic,
|
||||
Iterable,
|
||||
MutableMapping,
|
||||
Optional,
|
||||
TypeVar,
|
||||
Union,
|
||||
cast,
|
||||
)
|
||||
|
||||
from prometheus_client import Gauge
|
||||
|
||||
|
@ -166,7 +175,7 @@ class DeferredCache(Generic[KT, VT]):
|
|||
def set(
|
||||
self,
|
||||
key: KT,
|
||||
value: defer.Deferred,
|
||||
value: "defer.Deferred[VT]",
|
||||
callback: Optional[Callable[[], None]] = None,
|
||||
) -> defer.Deferred:
|
||||
"""Adds a new entry to the cache (or updates an existing one).
|
||||
|
@ -214,7 +223,7 @@ class DeferredCache(Generic[KT, VT]):
|
|||
if value.called:
|
||||
result = value.result
|
||||
if not isinstance(result, failure.Failure):
|
||||
self.cache.set(key, result, callbacks)
|
||||
self.cache.set(key, cast(VT, result), callbacks)
|
||||
return value
|
||||
|
||||
# otherwise, we'll add an entry to the _pending_deferred_cache for now,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue