def __init__(self, async_method, *args, **kwargs):
    super(NetworkInfoAsyncWrapper, self).__init__()
    self._gt = utils.spawn(async_method, *args, **kwargs)
    methods = ['json', 'fixed_ips', 'floating_ips']
    for method in methods:
        fn = getattr(self, method)
        wrapper = functools.partial(self._sync_wrapper, fn)
        functools.update_wrapper(wrapper, fn)
        setattr(self, method, wrapper)
def __init__(self, async_method, *args, **kwargs):
    super(NetworkInfoAsyncWrapper, self).__init__()
    self._gt = utils.spawn(async_method, *args, **kwargs)
    methods = ['json', 'fixed_ips', 'floating_ips']
    for method in methods:
        fn = getattr(self, method)
        wrapper = functools.partial(self._sync_wrapper, fn)
        functools.update_wrapper(wrapper, fn)
        setattr(self, method, wrapper)