Skip to content

Instantly share code, notes, and snippets.

@SegFaultAX
Created November 17, 2016 10:04
Show Gist options
  • Save SegFaultAX/f695824cf678be12e51867c0a5104ac3 to your computer and use it in GitHub Desktop.
Save SegFaultAX/f695824cf678be12e51867c0a5104ac3 to your computer and use it in GitHub Desktop.
Python Simple Coroutine Decorator
import functools
def coroutine(f):
@functools.wraps(f)
def coro(*args, **kwargs):
c = f(*args, **kwargs)
next(c)
def cb(*args, **kwargs):
if not (args or kwargs):
next(c)
else:
c.send(*args, **kwargs)
return cb
return coro
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment