Merge pull request #2194 from jdchristensen/master

In api decorator, pass wait argument to RemoteRepository.call; fixes …
This commit is contained in:
enkore 2017-02-23 14:50:33 +01:00 committed by GitHub
commit 4862efe718
1 changed files with 7 additions and 3 deletions

View File

@ -425,12 +425,16 @@ def api(*, since, **kwargs_decorator):
def do_rpc(self, *args, **kwargs): def do_rpc(self, *args, **kwargs):
sig = inspect.signature(f) sig = inspect.signature(f)
bound_args = sig.bind(self, *args, **kwargs) bound_args = sig.bind(self, *args, **kwargs)
named = {} named = {} # Arguments for the remote process
extra = {} # Arguments for the local process
for name, param in sig.parameters.items(): for name, param in sig.parameters.items():
if name == 'self': if name == 'self':
continue continue
if name in bound_args.arguments: if name in bound_args.arguments:
named[name] = bound_args.arguments[name] if name == 'wait':
extra[name] = bound_args.arguments[name]
else:
named[name] = bound_args.arguments[name]
else: else:
if param.default is not param.empty: if param.default is not param.empty:
named[name] = param.default named[name] = param.default
@ -447,7 +451,7 @@ def api(*, since, **kwargs_decorator):
raise self.RPCServerOutdated("{0} {1}={2!s}".format(f.__name__, name, named[name]), raise self.RPCServerOutdated("{0} {1}={2!s}".format(f.__name__, name, named[name]),
format_version(restriction['since'])) format_version(restriction['since']))
return self.call(f.__name__, named) return self.call(f.__name__, named, **extra)
return do_rpc return do_rpc
return decorator return decorator