Mercurial > libervia-backend
changeset 3540:aa58451b77ba
tools (utils): new `ensure_deferred` decorator
author | Goffi <goffi@goffi.org> |
---|---|
date | Thu, 03 Jun 2021 15:21:43 +0200 |
parents | 60d3861e5996 |
children | 888109774673 |
files | sat/tools/utils.py |
diffstat | 1 files changed, 11 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/sat/tools/utils.py Thu Jun 03 15:21:43 2021 +0200 +++ b/sat/tools/utils.py Thu Jun 03 15:21:43 2021 +0200 @@ -126,6 +126,17 @@ return d.asFuture(asyncio.get_event_loop()) +def ensure_deferred(func): + """Decorator to apply ensureDeferred to a function + + to be used when the function is called by third party library (e.g. wokkel) + Otherwise, it's better to use ensureDeferred as early as possible. + """ + def wrapper(*args, **kwargs): + return defer.ensureDeferred(func(*args, **kwargs)) + return wrapper + + def xmpp_date(timestamp=None, with_time=True): """Return date according to XEP-0082 specification