def wrap_object()

in docker_images/pythonv2/wrapper/python_glue/wrap_async_in_sync.py [0:0]


def wrap_object(obj):
    for name in dir(obj):
        member = getattr(obj, name)
        print(
            "{} {} {}".format(
                name, inspect.ismethod(member), inspect.iscoroutinefunction(member)
            )
        )
        if (
            not name.startswith("_")
            and not name.endswith("_sync")
            and inspect.ismethod(member)
            and inspect.iscoroutinefunction(member)
        ):
            newname = name + "_sync"
            logger.info("wrapping {} to become {}".format(name, newname))
            setattr(obj, newname, wrap_coroutine(member))