mirror of https://github.com/borgbackup/borg.git
Merge pull request #2194 from jdchristensen/master
In api decorator, pass wait argument to RemoteRepository.call; fixes …
This commit is contained in:
commit
4862efe718
|
@ -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
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue