summaryrefslogtreecommitdiff
path: root/ick2
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2018-07-29 13:37:58 +0300
committerLars Wirzenius <liw@liw.fi>2018-07-29 13:37:58 +0300
commit15afd4c27dce6c31fa362ef3b259fee2370ffcd1 (patch)
treef9d3eed27deb3e295091bb54ac6607d8bb6d392f /ick2
parent45d99ad7836ab873a93bf5166421c34044b05515 (diff)
downloadick2-15afd4c27dce6c31fa362ef3b259fee2370ffcd1.tar.gz
Add: python actions define a RUN() function
Diffstat (limited to 'ick2')
-rw-r--r--ick2/actions.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/ick2/actions.py b/ick2/actions.py
index a424c95..932c1e0 100644
--- a/ick2/actions.py
+++ b/ick2/actions.py
@@ -220,9 +220,14 @@ class PythonAction(Action):
def encode_parameters(self, params): # pragma: no cover
encoded = self.encode64(params)
prefix = (
- 'import base64, json\n'
+ 'import base64, json, subprocess\n'
'params = json.loads(base64.b64decode(\n'
' "{}").decode("utf8"))\n'
+ 'def RUN(*args, **kwargs):\n'
+ ' print("Executing:", args, kwargs)\n'
+ ' if "check" not in kwargs:\n'
+ ' kwargs["check"] = True\n'
+ ' return subprocess.run(args, **kwargs)\n'
).format(encoded)
return prefix