diff options
Diffstat (limited to 'deluge/core/rpcserver.py')
-rw-r--r-- | deluge/core/rpcserver.py | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/deluge/core/rpcserver.py b/deluge/core/rpcserver.py index 104399df9..d4ca5d19d 100644 --- a/deluge/core/rpcserver.py +++ b/deluge/core/rpcserver.py @@ -13,6 +13,7 @@ import sys import traceback from collections import namedtuple from types import FunctionType +from typing import Callable, TypeVar, overload from twisted.internet import defer, reactor from twisted.internet.protocol import Factory, connectionDone @@ -41,6 +42,18 @@ RPC_EVENT = 3 log = logging.getLogger(__name__) +TCallable = TypeVar('TCallable', bound=Callable) + + +@overload +def export(func: TCallable) -> TCallable: + ... + + +@overload +def export(auth_level: int) -> Callable[[TCallable], TCallable]: + ... + def export(auth_level=AUTH_LEVEL_DEFAULT): """ |