فهرست منبع

Merge pull request #2194 from jdchristensen/master

In api decorator, pass wait argument to RemoteRepository.call; fixes …
enkore 8 سال پیش
والد
کامیت
4862efe718
1فایلهای تغییر یافته به همراه7 افزوده شده و 3 حذف شده
  1. 7 3
      src/borg/remote.py

+ 7 - 3
src/borg/remote.py

@@ -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