summaryrefslogtreecommitdiffstats
path: root/deluge/core/rpcserver.py
diff options
context:
space:
mode:
Diffstat (limited to 'deluge/core/rpcserver.py')
-rw-r--r--deluge/core/rpcserver.py13
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):
"""