Allow marking `asyncio` funcs declaring `to_trio` channel

drop-trip-update-trio
Tyler Goodlet 2020-07-03 17:40:37 -04:00
parent 6d5ebb9aa7
commit 6bf5148ffc
1 changed files with 4 additions and 2 deletions

View File

@ -41,9 +41,11 @@ def stream(func):
"""
func._tractor_stream_function = True
sig = inspect.signature(func)
if 'ctx' not in sig.parameters:
params = sig.parameters
if 'ctx' not in params and 'to_trio' not in params:
raise TypeError(
"The first argument to the stream function "
f"{func.__name__} must be `ctx: tractor.Context`"
f"{func.__name__} must be `ctx: tractor.Context` "
"(Or ``to_trio`` if using ``asyncio`` in guest mode)."
)
return func