Index: build/android/pylib/device/decorators.py |
diff --git a/build/android/pylib/device/decorators.py b/build/android/pylib/device/decorators.py |
index 09803dd253526072a0cac1919fdefa25dbe3fb5a..3cf174211a281088abdd21ae134ec0a845fb6d98 100644 |
--- a/build/android/pylib/device/decorators.py |
+++ b/build/android/pylib/device/decorators.py |
@@ -22,11 +22,14 @@ sys.path.append(os.path.join(constants.DIR_SOURCE_ROOT, 'third_party', |
import errors as old_errors |
-def _TimeoutRetryWrapper(f, timeout_func, retries_func): |
+def _TimeoutRetryWrapper(f, timeout_func, retries_func, pass_values=False): |
craigdh
2014/05/21 22:25:00
docstring with description of parameters
jbudorick
2014/05/22 04:49:58
Done.
|
@functools.wraps(f) |
def TimeoutRetryWrapper(*args, **kwargs): |
timeout = timeout_func(*args, **kwargs) |
retries = retries_func(*args, **kwargs) |
+ if pass_values: |
+ kwargs['timeout'] = timeout |
+ kwargs['retries'] = retries |
def impl(): |
return f(*args, **kwargs) |
try: |
@@ -65,7 +68,7 @@ def WithTimeoutAndRetriesDefaults(default_timeout, default_retries): |
def decorator(f): |
get_timeout = lambda *a, **kw: kw.get('timeout', default_timeout) |
get_retries = lambda *a, **kw: kw.get('retries', default_retries) |
- return _TimeoutRetryWrapper(f, get_timeout, get_retries) |
+ return _TimeoutRetryWrapper(f, get_timeout, get_retries, pass_values=True) |
return decorator |
@@ -79,6 +82,6 @@ def WithTimeoutAndRetriesFromInstance( |
return kwargs.get('timeout', getattr(inst, default_timeout_name)) |
def get_retries(inst, *_args, **kwargs): |
return kwargs.get('retries', getattr(inst, default_retries_name)) |
- return _TimeoutRetryWrapper(f, get_timeout, get_retries) |
+ return _TimeoutRetryWrapper(f, get_timeout, get_retries, pass_values=True) |
return decorator |