dv-flow-mgr 1.9.15048751637rc0__py3-none-any.whl → 1.9.15098282600rc0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- dv_flow/mgr/__init__.py +1 -1
- dv_flow/mgr/exec_callable.py +1 -0
- dv_flow/mgr/ext_rgy.py +3 -0
- dv_flow/mgr/shell_callable.py +27 -1
- dv_flow/mgr/task_graph_builder.py +3 -2
- dv_flow/mgr/task_node_ctxt.py +2 -0
- dv_flow/mgr/task_run_ctxt.py +1 -2
- {dv_flow_mgr-1.9.15048751637rc0.dist-info → dv_flow_mgr-1.9.15098282600rc0.dist-info}/METADATA +1 -1
- {dv_flow_mgr-1.9.15048751637rc0.dist-info → dv_flow_mgr-1.9.15098282600rc0.dist-info}/RECORD +13 -13
- {dv_flow_mgr-1.9.15048751637rc0.dist-info → dv_flow_mgr-1.9.15098282600rc0.dist-info}/WHEEL +0 -0
- {dv_flow_mgr-1.9.15048751637rc0.dist-info → dv_flow_mgr-1.9.15098282600rc0.dist-info}/entry_points.txt +0 -0
- {dv_flow_mgr-1.9.15048751637rc0.dist-info → dv_flow_mgr-1.9.15098282600rc0.dist-info}/licenses/LICENSE +0 -0
- {dv_flow_mgr-1.9.15048751637rc0.dist-info → dv_flow_mgr-1.9.15098282600rc0.dist-info}/top_level.txt +0 -0
dv_flow/mgr/__init__.py
CHANGED
dv_flow/mgr/exec_callable.py
CHANGED
dv_flow/mgr/ext_rgy.py
CHANGED
@@ -98,6 +98,9 @@ class ExtRgy(object):
|
|
98
98
|
|
99
99
|
# Register built-in shells
|
100
100
|
self._shell_m["shell"] = ShellCallable
|
101
|
+
self._shell_m["bash"] = ShellCallable
|
102
|
+
self._shell_m["csh"] = ShellCallable
|
103
|
+
self._shell_m["tcsh"] = ShellCallable
|
101
104
|
self._shell_m["pytask"] = ExecCallable
|
102
105
|
|
103
106
|
|
dv_flow/mgr/shell_callable.py
CHANGED
@@ -1,5 +1,7 @@
|
|
1
|
+
import asyncio
|
1
2
|
import dataclasses as dc
|
2
3
|
import logging
|
4
|
+
import os
|
3
5
|
from typing import ClassVar, List
|
4
6
|
from .task_data import TaskDataResult
|
5
7
|
|
@@ -10,5 +12,29 @@ class ShellCallable(object):
|
|
10
12
|
_log : ClassVar = logging.getLogger("ShellCallable")
|
11
13
|
|
12
14
|
async def __call__(self, ctxt, input):
|
13
|
-
|
15
|
+
|
16
|
+
shell = ("/bin/%s" % self.shell) if self.shell != "shell" else "/bin/sh"
|
17
|
+
# Setup environment for the call
|
18
|
+
env = ctxt.env.copy()
|
19
|
+
env["TASK_SRCDIR"] = input.srcdir
|
20
|
+
env["TASK_RUNDIR"] = input.rundir
|
21
|
+
# env["TASK_PARAMS"] = input.params.dumpto_json()
|
22
|
+
fp = open(os.path.join(input.rundir, "%s.log" % input.name), "w")
|
23
|
+
|
24
|
+
proc = await asyncio.create_subprocess_shell(
|
25
|
+
self.body,
|
26
|
+
shell=self.shell,
|
27
|
+
env=env,
|
28
|
+
cwd=input.rundir,
|
29
|
+
stdout=fp,
|
30
|
+
stderr=asyncio.subprocess.STDOUT)
|
31
|
+
|
32
|
+
status = await proc.wait()
|
33
|
+
|
34
|
+
fp.close()
|
35
|
+
|
36
|
+
return TaskDataResult(
|
37
|
+
status=status
|
38
|
+
)
|
39
|
+
|
14
40
|
|
@@ -108,7 +108,8 @@ class TaskGraphBuilder(object):
|
|
108
108
|
|
109
109
|
self._ctxt = TaskNodeCtxt(
|
110
110
|
root_pkgdir=self.root_pkg.basedir,
|
111
|
-
root_rundir=self.rundir
|
111
|
+
root_rundir=self.rundir,
|
112
|
+
env=self.env)
|
112
113
|
|
113
114
|
self._eval.set("root", {
|
114
115
|
"dir": self.root_pkg.basedir
|
@@ -694,7 +695,7 @@ class TaskGraphBuilder(object):
|
|
694
695
|
shell = task.shell if task.shell is not None else "shell"
|
695
696
|
if shell in self._shell_m.keys():
|
696
697
|
self._log.debug("Use shell implementation")
|
697
|
-
callable = self._shell_m[shell](task.run)
|
698
|
+
callable = self._shell_m[shell](task.run, task.shell)
|
698
699
|
else:
|
699
700
|
raise Exception("Shell %s not found" % shell)
|
700
701
|
|
dv_flow/mgr/task_node_ctxt.py
CHANGED
dv_flow/mgr/task_run_ctxt.py
CHANGED
@@ -19,7 +19,6 @@ class TaskRunCtxt(object):
|
|
19
19
|
|
20
20
|
_markers : List[TaskMarker] = dc.field(default_factory=list)
|
21
21
|
_exec_info : List[ExecInfo] = dc.field(default_factory=list)
|
22
|
-
_env : Dict[str, str] = dc.field(default=None)
|
23
22
|
|
24
23
|
@property
|
25
24
|
def root_pkgdir(self):
|
@@ -31,7 +30,7 @@ class TaskRunCtxt(object):
|
|
31
30
|
|
32
31
|
@property
|
33
32
|
def env(self):
|
34
|
-
return self.
|
33
|
+
return self.ctxt.env if self.ctxt is not None else os.environ
|
35
34
|
|
36
35
|
def mkDataItem(self, type, **kwargs):
|
37
36
|
"""
|
{dv_flow_mgr-1.9.15048751637rc0.dist-info → dv_flow_mgr-1.9.15098282600rc0.dist-info}/RECORD
RENAMED
@@ -1,15 +1,15 @@
|
|
1
|
-
dv_flow/mgr/__init__.py,sha256=
|
1
|
+
dv_flow/mgr/__init__.py,sha256=wbon6N-qG1wXMKxECf0ccm5tx7GD9nbmDRQCKBZ1WC4,1315
|
2
2
|
dv_flow/mgr/__main__.py,sha256=BogNdBkXhgg05E8_IumNkVoag6WwvfbpiI8346oOtPo,3844
|
3
3
|
dv_flow/mgr/cond_def.py,sha256=2ZkzPusqVkN1fFMTvkDl9O_OJLPdD_cK3xzX9J75RMw,343
|
4
4
|
dv_flow/mgr/config.py,sha256=b2MVlVVNB0psk8x4bQRAYshkpNJrtyMtV1Ymhmx9AfM,137
|
5
5
|
dv_flow/mgr/config_def.py,sha256=N5nBc_2VPrx0pCDyIe-VPhQ7ItnbyJqrak3ZiPEAbtI,1040
|
6
6
|
dv_flow/mgr/data_callable.py,sha256=-GeMgBUdUEcdAkWsqvUYcpKqUd5BQsFgi6ARflnp2B8,687
|
7
7
|
dv_flow/mgr/eval_jq.py,sha256=bRsHtaN51qIOiZK1VJV52W0-vj5VH0nQ7XIFebZi5kI,1129
|
8
|
-
dv_flow/mgr/exec_callable.py,sha256=
|
8
|
+
dv_flow/mgr/exec_callable.py,sha256=tB2kBJeBPvq8pYOnZCaCvTYeu_MiezFfHUEqTAW3GQA,3143
|
9
9
|
dv_flow/mgr/exec_gen_callable.py,sha256=KLAKgu0c6nrEzfy85qeogH64VOFDBa6anslSBajykOE,3039
|
10
10
|
dv_flow/mgr/expr_eval.py,sha256=ojHo3U_QGqm0CWVSEGtFJRo3jrjiTKhy_B58yRNxN8g,4814
|
11
11
|
dv_flow/mgr/expr_parser.py,sha256=LMLe4RTbgcQVIpuZIi1vowHsKRgRmzKzomGvlJL8kJI,7110
|
12
|
-
dv_flow/mgr/ext_rgy.py,sha256=
|
12
|
+
dv_flow/mgr/ext_rgy.py,sha256=UD7nvMF5g3GiSYr7iLbk68_67UwzqUE7vsKCTaFrQr8,5788
|
13
13
|
dv_flow/mgr/extend_def.py,sha256=Ndh4z4XqqimtoS8-6ZNMDOvkVpVmEaWZsNEPM26PDZ0,653
|
14
14
|
dv_flow/mgr/fileset.py,sha256=kSjz-RiuQdKGMVjmbGK5YlwY-vJKSHmgggu-1_H0DHU,1320
|
15
15
|
dv_flow/mgr/fragment_def.py,sha256=2qx6KWiHCDvnb9JXnqIOb4n6kemAClAYuBoM6ex6xJE,1696
|
@@ -30,13 +30,13 @@ dv_flow/mgr/parser.out,sha256=mWx6hgqORUFhM2OlxV2gp43Y7w3sX2u4ua4t-5wqmck,27566
|
|
30
30
|
dv_flow/mgr/parsetab.py,sha256=S2o2FfobhhVWKwZg_GA7zFg62VwT7tiRxxNZJIyqP98,4351
|
31
31
|
dv_flow/mgr/pytask_callable.py,sha256=JiFN2vq6qanI6FXJBeidwiBSn6t0oC0izPJ01c5QJTE,688
|
32
32
|
dv_flow/mgr/root_package.py,sha256=nYLOpZVQEDbY0Ui5X5UNeUHXOvqRENew7B2zpC2V2gQ,136
|
33
|
-
dv_flow/mgr/shell_callable.py,sha256=
|
33
|
+
dv_flow/mgr/shell_callable.py,sha256=2b51yewHTFsoDMAldaB44ZMXkG2LaLR3go0DdM72HEs,1051
|
34
34
|
dv_flow/mgr/srcinfo.py,sha256=xrfp-relVr7hYNbxOjY5jqX4H0nNMm9HK5AAM6_Piyk,366
|
35
35
|
dv_flow/mgr/task.py,sha256=XQ-mVyDGvpU4gB6GmnNeTQhxKqFXiblShh7qd_-SIbM,2387
|
36
36
|
dv_flow/mgr/task_data.py,sha256=lN7Iq8YTitEMGG4rZqYQi6Ri2HuPgBQ5oGQbW-63T8c,12436
|
37
37
|
dv_flow/mgr/task_def.py,sha256=lhiOL7E_TfW7Ytg5qipE6d2cqTkfVqAOs1MZgtCqeLg,5257
|
38
38
|
dv_flow/mgr/task_gen_ctxt.py,sha256=1QQqqgaCjJSlzTV0SASpTb69vINFrDq3aqjYCKUkx3s,846
|
39
|
-
dv_flow/mgr/task_graph_builder.py,sha256=
|
39
|
+
dv_flow/mgr/task_graph_builder.py,sha256=1uca7YjYAVv1dS5sWk-ztqgdIwJyp9iHkwuzBlwtQPc,33590
|
40
40
|
dv_flow/mgr/task_graph_dot_writer.py,sha256=qK4Imy9o2_F1aKoU1tJ-qoBHslq2BhSMbdjAUPfpN7I,6009
|
41
41
|
dv_flow/mgr/task_listener_log.py,sha256=XcmBT-946DyrEYwNwbg7ejnB6Q3koybE7AekSWGxNGQ,4774
|
42
42
|
dv_flow/mgr/task_listener_trace.py,sha256=7B-V2YK8uXd_QSGBq_7USmbe5CleVvwumU0CpsmxZvg,6224
|
@@ -49,11 +49,11 @@ dv_flow/mgr/task_node_ctor_def_base.py,sha256=_8QQHKDkONio_ve0Z409yxC0AMO8ocNBPD
|
|
49
49
|
dv_flow/mgr/task_node_ctor_proxy.py,sha256=ViOFJ64JM4-CGFZNl89BghFuKSQ66kZVqSj4v2PA6VA,1906
|
50
50
|
dv_flow/mgr/task_node_ctor_task.py,sha256=d49g90TyPCMFR8BuWWqp4ym-MW5vGSdDR0V47Ru28JY,2232
|
51
51
|
dv_flow/mgr/task_node_ctor_wrapper.py,sha256=KMSYd4ik2Si7UXhNMeXAPHBwwrFkuhpeTMeYRpWv0hw,3718
|
52
|
-
dv_flow/mgr/task_node_ctxt.py,sha256=
|
52
|
+
dv_flow/mgr/task_node_ctxt.py,sha256=KHt_kQch6LDq70Oor7z2xbepiiaK2jyp4S-KWZGsRjo,205
|
53
53
|
dv_flow/mgr/task_node_leaf.py,sha256=nULlu-veyPC-PXdoQhahkLgqpdKNzaoD0XUlCw0EuZ4,9109
|
54
54
|
dv_flow/mgr/task_output.py,sha256=ZwyvwnYj_gHOEFAEOH3m24Xfc4Cn77hb1j7LkX8_3C4,1086
|
55
55
|
dv_flow/mgr/task_params_ctor.py,sha256=qlrzibGAFHmbqOu88jEoh1wOSFHu68Gwdgc259-50e8,1915
|
56
|
-
dv_flow/mgr/task_run_ctxt.py,sha256=
|
56
|
+
dv_flow/mgr/task_run_ctxt.py,sha256=Eh-b92NWGDiDw23NmNk-_jWTH5_qaO8FSlwVXN2jI-U,3968
|
57
57
|
dv_flow/mgr/task_runner.py,sha256=hfA4eGOmw-Rzur5qgcUKEwQB97Ka5AYv9QPrVZJWHUs,10422
|
58
58
|
dv_flow/mgr/type.py,sha256=hoJTatlPC0yOazKSWduK-5CfY38RPkc6qXFzOCcVSdM,723
|
59
59
|
dv_flow/mgr/type_def.py,sha256=4sge3PibO1jDnS0cXdX0PiurcKbDA3kT6rb4DGIKwEM,1176
|
@@ -76,9 +76,9 @@ dv_flow/mgr/util/util.py,sha256=BO7iqP_c9ttmXkojq7nKDN-g8wl1_Pco9k-KnrXxjwE,1889
|
|
76
76
|
dv_flow/mgr/util/cmds/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
77
77
|
dv_flow/mgr/util/cmds/cmd_schema.py,sha256=IJzZdxCSEgIQ79LpYiM7UqJ9RJ-7yraqmBN2XVgAgXA,1752
|
78
78
|
dv_flow/mgr/util/cmds/cmd_workspace.py,sha256=egmaIXpe5L-TePwmcfisfrG6tdiTUWSjqa9Za5WChVs,890
|
79
|
-
dv_flow_mgr-1.9.
|
80
|
-
dv_flow_mgr-1.9.
|
81
|
-
dv_flow_mgr-1.9.
|
82
|
-
dv_flow_mgr-1.9.
|
83
|
-
dv_flow_mgr-1.9.
|
84
|
-
dv_flow_mgr-1.9.
|
79
|
+
dv_flow_mgr-1.9.15098282600rc0.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
80
|
+
dv_flow_mgr-1.9.15098282600rc0.dist-info/METADATA,sha256=qr-g-nTWrI_eu7eG-6B99n5QW20iV2R9WlrMttCV3J4,13335
|
81
|
+
dv_flow_mgr-1.9.15098282600rc0.dist-info/WHEEL,sha256=Nw36Djuh_5VDukK0H78QzOX-_FQEo6V37m3nkm96gtU,91
|
82
|
+
dv_flow_mgr-1.9.15098282600rc0.dist-info/entry_points.txt,sha256=1roy8wAFM48LabOvr6jiOw0MUs-qE8X3Vf8YykPazxk,50
|
83
|
+
dv_flow_mgr-1.9.15098282600rc0.dist-info/top_level.txt,sha256=amfVTkggzYPtWwLqNmRukfz1Buu0pGS2SrYBBLhXm04,8
|
84
|
+
dv_flow_mgr-1.9.15098282600rc0.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
{dv_flow_mgr-1.9.15048751637rc0.dist-info → dv_flow_mgr-1.9.15098282600rc0.dist-info}/top_level.txt
RENAMED
File without changes
|