From 701177f699d79ee5a1424c68d17b3b0cbb15678a Mon Sep 17 00:00:00 2001 From: jpic Date: Thu, 23 Apr 2020 04:30:32 +0200 Subject: [PATCH] Fix #247: coroutine support --- fire/core.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/fire/core.py b/fire/core.py index 763b3d13..1894df71 100644 --- a/fire/core.py +++ b/fire/core.py @@ -53,6 +53,7 @@ def main(argv): from __future__ import division from __future__ import print_function +import asyncio import inspect import json import os @@ -670,6 +671,8 @@ def _CallAndUpdateTrace(component, args, component_trace, treatment='class', parse = _MakeParseFn(fn, metadata) (varargs, kwargs), consumed_args, remaining_args, capacity = parse(args) component = fn(*varargs, **kwargs) + if inspect.iscoroutine(component): + component = asyncio.run(component) if treatment == 'class': action = trace.INSTANTIATED_CLASS