- Update to version 1.3.0 * Allow the configuration system to override which Executor subclass to use when executing tasks. * Add support for command timeouts, i.e. the ability to add an upper bound on how long a call to run may take to execute. * Add basic dry-run support, in the form of a new --dry CLI option. * Add a new Runner method, close_proc_stdin, and call it when standard input processing detects an EOF. OBS-URL: https://build.opensuse.org/request/show/722668 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-invoke?expand=0&rev=21
90 lines
2.9 KiB
Diff
90 lines
2.9 KiB
Diff
From 84f296062a48d30a6c1497e523c21ef3fd9ab534 Mon Sep 17 00:00:00 2001
|
|
From: Marcus Crane <marcus@utf9k.net>
|
|
Date: Fri, 26 Oct 2018 10:52:19 +1300
|
|
Subject: [PATCH 1/3] Updated inspect method
|
|
|
|
---
|
|
invoke/tasks.py | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
diff --git a/invoke/tasks.py b/invoke/tasks.py
|
|
index ed838c31..18cf0afd 100644
|
|
--- a/invoke/tasks.py
|
|
+++ b/invoke/tasks.py
|
|
@@ -151,7 +151,7 @@ def argspec(self, body):
|
|
# TODO: __call__ exhibits the 'self' arg; do we manually nix 1st result
|
|
# in argspec, or is there a way to get the "really callable" spec?
|
|
func = body if isinstance(body, types.FunctionType) else body.__call__
|
|
- spec = inspect.getargspec(func)
|
|
+ spec = inspect.getfullargspec(func)
|
|
arg_names = spec.args[:]
|
|
matched_args = [reversed(x) for x in [spec.args, spec.defaults or []]]
|
|
spec_dict = dict(zip_longest(*matched_args, fillvalue=NO_DEFAULT))
|
|
|
|
From db6596d63c76239a91a898ee1557084456e480f7 Mon Sep 17 00:00:00 2001
|
|
From: Marcus Crane <marcus@utf9k.net>
|
|
Date: Fri, 26 Oct 2018 11:49:41 +1300
|
|
Subject: [PATCH 2/3] Update inspect import to be conditional based on 2.7 or 3
|
|
|
|
---
|
|
invoke/tasks.py | 8 ++++++--
|
|
1 file changed, 6 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/invoke/tasks.py b/invoke/tasks.py
|
|
index 18cf0afd..cbe106b9 100644
|
|
--- a/invoke/tasks.py
|
|
+++ b/invoke/tasks.py
|
|
@@ -4,7 +4,6 @@
|
|
"""
|
|
|
|
from copy import deepcopy
|
|
-import inspect
|
|
import types
|
|
|
|
from .context import Context
|
|
@@ -15,6 +15,11 @@ if six.PY3:
|
|
else:
|
|
from itertools import izip_longest as zip_longest
|
|
|
|
+try:
|
|
+ from inspect import getfullargspec as getargspec
|
|
+except AttributeError:
|
|
+ from inspect import getargspec
|
|
+
|
|
|
|
#: Sentinel object representing a truly blank value (vs ``None``).
|
|
NO_DEFAULT = object()
|
|
|
|
@@ -151,7 +155,7 @@ def argspec(self, body):
|
|
# TODO: __call__ exhibits the 'self' arg; do we manually nix 1st result
|
|
# in argspec, or is there a way to get the "really callable" spec?
|
|
func = body if isinstance(body, types.FunctionType) else body.__call__
|
|
- spec = inspect.getfullargspec(func)
|
|
+ spec = getargspec(func)
|
|
arg_names = spec.args[:]
|
|
matched_args = [reversed(x) for x in [spec.args, spec.defaults or []]]
|
|
spec_dict = dict(zip_longest(*matched_args, fillvalue=NO_DEFAULT))
|
|
|
|
From de3f339f4d699c0a641074ad437802307d0050ba Mon Sep 17 00:00:00 2001
|
|
From: Marcus Crane <marcus@utf9k.net>
|
|
Date: Fri, 26 Oct 2018 12:10:43 +1300
|
|
Subject: [PATCH 3/3] Ooops, checked AttributeError instead of ImportError
|
|
|
|
---
|
|
invoke/tasks.py | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
diff --git a/invoke/tasks.py b/invoke/tasks.py
|
|
index cbe106b9..ad08c893 100644
|
|
--- a/invoke/tasks.py
|
|
+++ b/invoke/tasks.py
|
|
@@ -15,7 +15,7 @@
|
|
|
|
try:
|
|
from inspect import getfullargspec as getargspec
|
|
-except AttributeError:
|
|
+except ImportError:
|
|
from inspect import getargspec
|
|
|
|
|