zrb 0.26.0__py3-none-any.whl → 0.27.1__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.
@@ -6,6 +6,7 @@ from typing import Any, Optional, Union
6
6
  from zrb.helper.accessories.color import colored
7
7
  from zrb.helper.log import logger
8
8
  from zrb.helper.typecheck import typechecked
9
+ from zrb.helper.typing import JinjaTemplate
9
10
  from zrb.task.any_task import AnyTask
10
11
  from zrb.task.any_task_event_handler import (
11
12
  OnFailed,
@@ -16,9 +17,8 @@ from zrb.task.any_task_event_handler import (
16
17
  OnTriggered,
17
18
  OnWaiting,
18
19
  )
19
- from zrb.task.base_remote_cmd_task import BaseRemoteCmdTask, RemoteConfig
20
20
  from zrb.task.cmd_task import CmdTask, CmdVal
21
- from zrb.task_env.env import Env
21
+ from zrb.task_env.env import Env, PrivateEnv
22
22
  from zrb.task_env.env_file import EnvFile
23
23
  from zrb.task_group.group import Group
24
24
  from zrb.task_input.any_input import AnyInput
@@ -27,8 +27,6 @@ logger.debug(colored("Loading zrb.task.remote_cmd_task", attrs=["dark"]))
27
27
 
28
28
  _CURRENT_DIR = os.path.dirname(__file__)
29
29
  _SHELL_SCRIPT_DIR = os.path.join(_CURRENT_DIR, "..", "shell-scripts")
30
- with open(os.path.join(_SHELL_SCRIPT_DIR, "ssh-util.sh")) as file:
31
- _SSH_UTIL_SCRIPT = file.read()
32
30
 
33
31
  ensure_ssh_is_installed = CmdTask(
34
32
  name="ensure-ssh-is-installed",
@@ -37,15 +35,17 @@ ensure_ssh_is_installed = CmdTask(
37
35
  os.path.join(_SHELL_SCRIPT_DIR, "ensure-ssh-is-installed.sh"),
38
36
  ],
39
37
  preexec_fn=None,
38
+ should_print_cmd_result=False,
39
+ should_show_cmd=False,
40
+ should_show_working_directory=False,
40
41
  )
41
42
 
42
43
 
43
44
  @typechecked
44
- class RemoteCmdTask(BaseRemoteCmdTask):
45
+ class RemoteCmdTask(CmdTask):
45
46
  def __init__(
46
47
  self,
47
48
  name: str,
48
- remote_configs: Iterable[RemoteConfig],
49
49
  group: Optional[Group] = None,
50
50
  inputs: Iterable[AnyInput] = [],
51
51
  envs: Iterable[Env] = [],
@@ -54,9 +54,15 @@ class RemoteCmdTask(BaseRemoteCmdTask):
54
54
  color: Optional[str] = None,
55
55
  description: str = "",
56
56
  executable: Optional[str] = None,
57
+ remote_host: JinjaTemplate = "localhost",
58
+ remote_port: Union[JinjaTemplate, int] = 22,
59
+ remote_user: JinjaTemplate = "root",
60
+ remote_password: JinjaTemplate = "",
61
+ remote_ssh_key: JinjaTemplate = "",
57
62
  cmd: CmdVal = "",
58
63
  cmd_path: CmdVal = "",
59
64
  cwd: Optional[Union[str, pathlib.Path]] = None,
65
+ should_render_cwd: bool = True,
60
66
  upstreams: Iterable[AnyTask] = [],
61
67
  fallbacks: Iterable[AnyTask] = [],
62
68
  on_triggered: Optional[OnTriggered] = None,
@@ -74,31 +80,26 @@ class RemoteCmdTask(BaseRemoteCmdTask):
74
80
  max_error_line: int = 1000,
75
81
  preexec_fn: Optional[Callable[[], Any]] = os.setsid,
76
82
  should_execute: Union[bool, str, Callable[..., bool]] = True,
83
+ return_upstream_result: bool = False,
84
+ should_print_cmd_result: bool = True,
85
+ should_show_cmd: bool = True,
86
+ should_show_working_directory: bool = True,
77
87
  ):
78
- pre_cmd = "\n".join(
79
- [
80
- _SSH_UTIL_SCRIPT,
81
- "_SCRIPT=\"$(cat <<'ENDSCRIPT'",
82
- ]
83
- )
84
- post_cmd = "\n".join(["ENDSCRIPT", ')"', 'auth_ssh "$_SCRIPT"'])
85
- BaseRemoteCmdTask.__init__(
88
+ CmdTask.__init__(
86
89
  self,
87
90
  name=name,
88
- remote_configs=remote_configs,
89
91
  group=group,
90
92
  inputs=inputs,
91
- envs=envs,
93
+ envs=envs + [PrivateEnv(name="_ZRB_SSH_PASSWORD", default=remote_password)],
92
94
  env_files=env_files,
93
95
  icon=icon,
94
96
  color=color,
95
97
  description=description,
96
98
  executable=executable,
97
- pre_cmd=pre_cmd,
98
99
  cmd=cmd,
99
100
  cmd_path=cmd_path,
100
- post_cmd=post_cmd,
101
101
  cwd=cwd,
102
+ should_render_cwd=should_render_cwd,
102
103
  upstreams=[ensure_ssh_is_installed] + upstreams,
103
104
  fallbacks=fallbacks,
104
105
  on_triggered=on_triggered,
@@ -116,4 +117,40 @@ class RemoteCmdTask(BaseRemoteCmdTask):
116
117
  max_error_line=max_error_line,
117
118
  preexec_fn=preexec_fn,
118
119
  should_execute=should_execute,
120
+ return_upstream_result=return_upstream_result,
121
+ should_print_cmd_result=should_print_cmd_result,
122
+ should_show_cmd=should_show_cmd,
123
+ should_show_working_directory=should_show_working_directory,
124
+ )
125
+ self._remote_host = remote_host
126
+ self._remote_port = remote_port
127
+ self._remote_user = remote_user
128
+ self._remote_password = remote_password
129
+ self._remote_ssh_key = remote_ssh_key
130
+
131
+ def get_cmd_script(self, *args: Any, **kwargs: Any) -> str:
132
+ cmd_script = self._create_cmd_script(self._cmd_path, self._cmd, *args, **kwargs)
133
+ cmd_script = "\n".join(
134
+ [
135
+ "_SCRIPT=$(cat << 'ENDSCRIPT'",
136
+ cmd_script,
137
+ "ENDSCRIPT",
138
+ ")",
139
+ ]
119
140
  )
141
+ ssh_command = self._get_ssh_command()
142
+ return "\n".join([cmd_script, ssh_command])
143
+
144
+ def _get_ssh_command(self) -> str:
145
+ host = self.render_str(self._remote_host)
146
+ port = self.render_str(self._remote_port)
147
+ user = self.render_str(self._remote_user)
148
+ password = self.render_str(self._remote_password)
149
+ key = self.render_str(self._remote_ssh_key)
150
+ if key != "" and password != "":
151
+ return f'sshpass -p "$_ZRB_SSH_PASSWORD" ssh -t -p "{port}" -i "{key}" "{user}@{host}" "$_SCRIPT"' # noqa
152
+ if key != "":
153
+ return f'ssh -t -p "{port}" -i "{key}" "{user}@{host}" "$_SCRIPT"'
154
+ if password != "":
155
+ return f'sshpass -p "$_ZRB_SSH_PASSWORD" ssh -t -p "{port}" "{user}@{host}" "$_SCRIPT"' # noqa
156
+ return f'ssh -t -p "{port}" "{user}@{host}" "$_SCRIPT"'
zrb/task/rsync_task.py CHANGED
@@ -17,9 +17,8 @@ from zrb.task.any_task_event_handler import (
17
17
  OnTriggered,
18
18
  OnWaiting,
19
19
  )
20
- from zrb.task.base_remote_cmd_task import BaseRemoteCmdTask, RemoteConfig
21
20
  from zrb.task.cmd_task import CmdTask
22
- from zrb.task_env.env import Env
21
+ from zrb.task_env.env import Env, PrivateEnv
23
22
  from zrb.task_env.env_file import EnvFile
24
23
  from zrb.task_group.group import Group
25
24
  from zrb.task_input.any_input import AnyInput
@@ -28,8 +27,6 @@ logger.debug(colored("Loading zrb.task.rsync_task", attrs=["dark"]))
28
27
 
29
28
  _CURRENT_DIR = os.path.dirname(__file__)
30
29
  _SHELL_SCRIPT_DIR = os.path.join(_CURRENT_DIR, "..", "shell-scripts")
31
- with open(os.path.join(_SHELL_SCRIPT_DIR, "rsync-util.sh")) as file:
32
- _RSYNC_UTIL_SCRIPT = file.read()
33
30
 
34
31
  ensure_rsync_is_installed = CmdTask(
35
32
  name="ensure-ssh-is-installed",
@@ -39,19 +36,17 @@ ensure_rsync_is_installed = CmdTask(
39
36
  os.path.join(_SHELL_SCRIPT_DIR, "ensure-rsync-is-installed.sh"),
40
37
  ],
41
38
  preexec_fn=None,
39
+ should_print_cmd_result=False,
40
+ should_show_cmd=False,
41
+ should_show_working_directory=False,
42
42
  )
43
43
 
44
44
 
45
45
  @typechecked
46
- class RsyncTask(BaseRemoteCmdTask):
46
+ class RsyncTask(CmdTask):
47
47
  def __init__(
48
48
  self,
49
49
  name: str,
50
- remote_configs: Iterable[RemoteConfig],
51
- src: JinjaTemplate,
52
- dst: JinjaTemplate,
53
- src_is_remote: bool = False,
54
- dst_is_remote: bool = True,
55
50
  group: Optional[Group] = None,
56
51
  inputs: Iterable[AnyInput] = [],
57
52
  envs: Iterable[Env] = [],
@@ -60,7 +55,17 @@ class RsyncTask(BaseRemoteCmdTask):
60
55
  color: Optional[str] = None,
61
56
  description: str = "",
62
57
  executable: Optional[str] = None,
63
- cwd: Optional[Union[str, pathlib.Path]] = None,
58
+ remote_host: JinjaTemplate = "localhost",
59
+ remote_port: Union[JinjaTemplate, int] = 22,
60
+ remote_user: JinjaTemplate = "root",
61
+ remote_password: JinjaTemplate = "",
62
+ remote_ssh_key: JinjaTemplate = "",
63
+ src_path: JinjaTemplate = ".",
64
+ src_is_remote: bool = False,
65
+ dst_path: JinjaTemplate = ".",
66
+ dst_is_remote: bool = True,
67
+ cwd: Optional[Union[JinjaTemplate, pathlib.Path]] = None,
68
+ should_render_cwd: bool = True,
64
69
  upstreams: Iterable[AnyTask] = [],
65
70
  fallbacks: Iterable[AnyTask] = [],
66
71
  on_triggered: Optional[OnTriggered] = None,
@@ -78,25 +83,24 @@ class RsyncTask(BaseRemoteCmdTask):
78
83
  max_error_line: int = 1000,
79
84
  preexec_fn: Optional[Callable[[], Any]] = os.setsid,
80
85
  should_execute: Union[bool, str, Callable[..., bool]] = True,
86
+ return_upstream_result: bool = False,
87
+ should_print_cmd_result: bool = True,
88
+ should_show_cmd: bool = True,
89
+ should_show_working_directory: bool = True,
81
90
  ):
82
- parsed_src = self._get_parsed_path(src_is_remote, src)
83
- parsed_dst = self._get_parsed_path(dst_is_remote, dst)
84
- cmd = f'auth_rsync "{parsed_src}" "{parsed_dst}"'
85
- BaseRemoteCmdTask.__init__(
91
+ CmdTask.__init__(
86
92
  self,
87
93
  name=name,
88
- remote_configs=remote_configs,
89
94
  group=group,
90
95
  inputs=inputs,
91
- envs=envs,
96
+ envs=envs + [PrivateEnv(name="_ZRB_SSH_PASSWORD", default=remote_password)],
92
97
  env_files=env_files,
93
98
  icon=icon,
94
99
  color=color,
95
100
  description=description,
96
101
  executable=executable,
97
- pre_cmd=_RSYNC_UTIL_SCRIPT,
98
- cmd=cmd,
99
102
  cwd=cwd,
103
+ should_render_cwd=should_render_cwd,
100
104
  upstreams=[ensure_rsync_is_installed] + upstreams,
101
105
  fallbacks=fallbacks,
102
106
  on_triggered=on_triggered,
@@ -114,9 +118,39 @@ class RsyncTask(BaseRemoteCmdTask):
114
118
  max_error_line=max_error_line,
115
119
  preexec_fn=preexec_fn,
116
120
  should_execute=should_execute,
121
+ return_upstream_result=return_upstream_result,
122
+ should_print_cmd_result=should_print_cmd_result,
123
+ should_show_cmd=should_show_cmd,
124
+ should_show_working_directory=should_show_working_directory,
117
125
  )
126
+ self._remote_host = remote_host
127
+ self._remote_port = remote_port
128
+ self._remote_user = remote_user
129
+ self._remote_password = remote_password
130
+ self._remote_ssh_key = remote_ssh_key
131
+ self._src_path = src_path
132
+ self._src_is_remote = src_is_remote
133
+ self._dst_path = dst_path
134
+ self._dst_is_remote = dst_is_remote
135
+
136
+ def get_cmd_script(self, *args: Any, **kwargs: Any) -> str:
137
+ port = self.render_str(self._remote_port)
138
+ password = self.render_str(self._remote_password)
139
+ key = self.render_str(self._remote_ssh_key)
140
+ src = self._get_path(self._src_path, self._src_is_remote)
141
+ dst = self._get_path(self._dst_path, self._dst_is_remote)
142
+ if key != "" and password != "":
143
+ return f'sshpass -p "$_ZRB_SSH_PASSWORD" rsync --mkpath -avz -e "ssh -i {key} -p {port}" {src} {dst}' # noqa
144
+ if key != "":
145
+ return f'rsync --mkpath -avz -e "ssh -i {key} -p {port}" {src} {dst}'
146
+ if password != "":
147
+ return f'sshpass -p "$_ZRB_SSH_PASSWORD" rsync --mkpath -avz -e "ssh -p {port}" {src} {dst}' # noqa
148
+ return f'rsync --mkpath -avz -e "ssh -p {port}" {src} {dst}'
118
149
 
119
- def _get_parsed_path(self, is_remote: bool, path: str) -> str:
120
- if not is_remote:
121
- return path
122
- return "${_CONFIG_USER}@${_CONFIG_HOST}:" + path
150
+ def _get_path(self, resource_path: str, is_remote: bool) -> str:
151
+ rendered_path = self.render_str(resource_path)
152
+ if is_remote:
153
+ host = self.render_str(self._remote_host)
154
+ user = self.render_str(self._remote_user)
155
+ return f"{user}@{host}:{rendered_path}"
156
+ return rendered_path
@@ -1,10 +1,10 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: zrb
3
- Version: 0.26.0
3
+ Version: 0.27.1
4
4
  Summary: A Framework to Enhance Your Workflow
5
5
  Home-page: https://github.com/state-alchemists/zrb
6
6
  License: AGPL-3.0-or-later
7
- Keywords: Automation,Task Runner,Code Generator,Low Code
7
+ Keywords: Automation,Task Runner,Code Generator,Monorepo,Low Code
8
8
  Author: Go Frendi Gunawan
9
9
  Author-email: gofrendiasgard@gmail.com
10
10
  Requires-Python: >=3.10.0,<4.0.0
@@ -1,4 +1,4 @@
1
- zrb/__init__.py,sha256=vmWT2ODW6tlhL3hyqOjMT_ezG2fafIK1gZ6G6IBYEgM,2994
1
+ zrb/__init__.py,sha256=dQs1S6z3XbG1BeQ62YYxc6cUs5ejw9T9ajkPgNVEs34,2875
2
2
  zrb/__main__.py,sha256=-_k0XOahDF-06n41Uly-oUMkZ8XDSxO-WUUImWz6GiA,171
3
3
  zrb/action/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
4
  zrb/action/runner.py,sha256=aB46inPOs7CDckfIsS_mlgQ92_bfKltcnb77PjW6Tfw,5179
@@ -87,12 +87,19 @@ zrb/builtin/md5/_group.py,sha256=dimqCmJItc7qx7yRm64tL608oMAjOVXRycP7NTSSFi0,100
87
87
  zrb/builtin/md5/hash.py,sha256=futO_5AsXHdS5a7vuBLcgnKCpfEO9UeM-EqaIIBPCZE,572
88
88
  zrb/builtin/md5/sum.py,sha256=KZLsXIJrVxvbjyAiVv27-Y2ty-nBRRojsGxXyzQZaYE,688
89
89
  zrb/builtin/monorepo/__init__.py,sha256=AgzIDOcrW4FXxly5SqExyGRo-fIo0ocX_fCScLPDuR0,239
90
- zrb/builtin/monorepo/_config.py,sha256=ArqI0MZbuTkq2C3kdc6lVB2L2xjK5x2Z3IU-4_0YLJ8,367
90
+ zrb/builtin/monorepo/_common.sh,sha256=HfSIyw_OYGXx0TZzwdLB21fX6sTnZ_45Vf6YXVxxU-k,336
91
+ zrb/builtin/monorepo/_config.py,sha256=cTKOoDonkVXR-1SGUYtA8d5aUpDkhN4olhPQwfJhV4U,365
91
92
  zrb/builtin/monorepo/_group.py,sha256=idv_8MIE-TCNAvhE0urh7OxTx3qNZbBlE9wYJ-teqa8,115
92
- zrb/builtin/monorepo/_task.py,sha256=7QKgVNf6xqD6wAHjtVEE6CsHS12Yt_yqoalomPywY7A,3365
93
- zrb/builtin/monorepo/add.py,sha256=HhHLquFHbYvNja3foSstFAe_NBL1zSp2SWUBQuIiTYU,1374
94
- zrb/builtin/monorepo/pull.py,sha256=2wIrz1D6OJmuBkdVbWRDXUiz8W4aLo3GC601_ASVAb8,702
95
- zrb/builtin/monorepo/push.py,sha256=7I1OpjJjM-6aG6qQj2Tz584WngcY6yXYG8DjFgLqn08,999
93
+ zrb/builtin/monorepo/_helper.py,sha256=RuK0mkQI73ryixD_iYfp8lxJmrFxkHyFvDThW2fsrF8,4057
94
+ zrb/builtin/monorepo/_task.py,sha256=1UY8eErrjpykK51UjjIu74lH25jMW8l3k36-eyYk9KI,3869
95
+ zrb/builtin/monorepo/add-subrepo.sh,sha256=LWyie9_3aCA7OarzDl7HedJnV7OpkkSHUHHPDcToNQ8,426
96
+ zrb/builtin/monorepo/add.py,sha256=MtPhTEJEdpfRsbdB-hln4hyGzPVWu9kdrmiCxqu0dTs,1580
97
+ zrb/builtin/monorepo/pull-monorepo.sh,sha256=80mC-FOmIFjhgeGe_s6SzKgf5ZyUwrUsz8O1huTP3Ww,377
98
+ zrb/builtin/monorepo/pull-subrepo.sh,sha256=7M6haXVkApuS3F1Ndp-jrdRMLbPbSYZUo7ckVAffypI,365
99
+ zrb/builtin/monorepo/pull.py,sha256=6W9w2QJipn9TYIqaE-tzW_KK1hxPU7oJW0IlH_yPwJA,676
100
+ zrb/builtin/monorepo/push-monorepo.sh,sha256=qkr6vfIvIKSKCiE1rartU5vahcjP7Ocvrt-zhgc1ZSo,346
101
+ zrb/builtin/monorepo/push-subrepo.sh,sha256=k-9ZbEEwDOgHn9Jo_CSkZwk4-bkcZm4TUc-e6j8Kvlk,353
102
+ zrb/builtin/monorepo/push.py,sha256=snKu4ravGFBBxHwLegI_kg65a9sG8bpf7t2T2CanNcE,668
96
103
  zrb/builtin/process/__init__.py,sha256=dWM1zIehY65rkJvEAFvX6HGJHL8kb1gkzaSz0Woay8M,283
97
104
  zrb/builtin/process/_group.py,sha256=KY7iQ_pvqe5iVsRFeLWs-O-xuSyqlTXVj47_TCnu7zQ,118
98
105
  zrb/builtin/process/pid/__init__.py,sha256=Rcb3bYgR_oVNOlaggYjcRipHRehrumZuQyadrguXdR0,293
@@ -1328,9 +1335,9 @@ zrb/helper/accessories/icon.py,sha256=uKm3w5G1fV454MUhz_CZMy48AD99kBV9j2zRlJWzB1
1328
1335
  zrb/helper/accessories/name.py,sha256=e1uvU3MzuvDb5j6YIWBA048y4qeM-LfrxRKWlMehliE,1638
1329
1336
  zrb/helper/accessories/untyped_color.py,sha256=4wRbHSClbCzPRWtW-Cy2agOMozANVi7u4p8lMXMSuJg,194
1330
1337
  zrb/helper/advertisement.py,sha256=GOaCtWYL9Oj_tAg4jqsCuFsdinHaOSH_6d57y8BbsVU,912
1331
- zrb/helper/asyncio_task.py,sha256=4OCXNwioMcQz7NgmXmNsS1Ege4Cp5Ld7MlwCmJNBuVs,622
1338
+ zrb/helper/asyncio_task.py,sha256=0CYQZcMnIO3514b8P0FJnTF9z7UasjJCf9TTDHfZLzM,686
1332
1339
  zrb/helper/callable.py,sha256=usatPKPkK_67G9dWreaGXskOaGHd_hE8MiTWAUhfojE,563
1333
- zrb/helper/cli.py,sha256=S1j8hfW_zEDeycPRbJd0E8xkOZkuEZ5PNz6JO6EC8UI,2637
1340
+ zrb/helper/cli.py,sha256=cb82aZCX5NoOHQNTx3wtdKOAQJP79ky4HA6w0VjVBh0,2603
1334
1341
  zrb/helper/codemod/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1335
1342
  zrb/helper/codemod/add_argument_to_function.py,sha256=Xh5Tlb4iO3cv4dRR12ms9kf0j-atVSnCh88TuqCof8I,1435
1336
1343
  zrb/helper/codemod/add_argument_to_function_call.py,sha256=dFFqQ885gG_ZCBgax6sjkWx7s7cIk1amLhTC0Ge_zZo,1186
@@ -1381,14 +1388,11 @@ zrb/shell-scripts/ensure-podman-is-installed.sh,sha256=RvLLQIBN5cfLEsFkTpomgl_Px
1381
1388
  zrb/shell-scripts/ensure-rsync-is-installed.sh,sha256=ffr8avoCUSoDQkEBWmeelgn-EtF9reQTaM0wfW6B0hc,1146
1382
1389
  zrb/shell-scripts/ensure-ssh-is-installed.sh,sha256=w5pCzsbEa3bnxT07q6gX0nWn-7HXsMiwBRrg7dMD57w,2414
1383
1390
  zrb/shell-scripts/notify.ps1,sha256=6_xPoIwuxARpYljcjVV-iRJS3gJqGfx-B6kj719cJ9o,843
1384
- zrb/shell-scripts/rsync-util.sh,sha256=QzdhSBvUNMxB4U2B4m0Dxg9czGckRjB7Vk4A1ObG0-k,353
1385
- zrb/shell-scripts/ssh-util.sh,sha256=9lXDzw6oO8HuA4vdbfps_uQMMwKyNYX9fZkZgpK52g8,401
1386
1391
  zrb/task/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1387
1392
  zrb/task/any_task.py,sha256=SlAp6LY-8TGopaQm3eZD3ZEx3wxvCff8UfcnYyu-aiY,39344
1388
1393
  zrb/task/any_task_event_handler.py,sha256=ay4v7eXatF4sCiXpUYaHVJZljpnKlvBbFIwvZqXW8Mo,541
1389
- zrb/task/base_remote_cmd_task.py,sha256=EhAT7grnIxFeMfwm8FV6GF6n0kOYESAyIIVzqgZBRBg,12324
1390
1394
  zrb/task/base_task/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1391
- zrb/task/base_task/base_task.py,sha256=mHTgXmGROkGZw97HLpk-XE5lfhDL0jYyX9okaOTZgxY,20439
1395
+ zrb/task/base_task/base_task.py,sha256=oihVRUHAvNMwlfLEWQoixt5OwyMLyW9w6bSGD9WGVIk,20457
1392
1396
  zrb/task/base_task/component/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1393
1397
  zrb/task/base_task/component/base_task_model.py,sha256=EuTWvY54mD_ATy4-VFZw4uCOu3Mfe8hgZikwTnIjmkY,10381
1394
1398
  zrb/task/base_task/component/common_task_model.py,sha256=X_Ubu5kNycQJ-dFiLMARvC6GWQ9pIjBCdxh3MVelc-A,13544
@@ -1399,8 +1403,8 @@ zrb/task/checker.py,sha256=mh_2ajZqpNdJQ8AFVQ6ZArYtBUOXST3aZSisINuEivk,3400
1399
1403
  zrb/task/cmd_task.py,sha256=B3kRtpb0QVjusPWAMLjpfGxvAdEfgD9_N0jiU55S3rA,14718
1400
1404
  zrb/task/decorator.py,sha256=SuajollezbwiSOs29bv8A6PmFcFs_RH4pr4TPcQPDHM,3081
1401
1405
  zrb/task/docker_compose_start_task.py,sha256=n4mLejebyy8sF4rbcfWZucPcBiqPSkDAdGZvOhk4Xt8,5335
1402
- zrb/task/docker_compose_task.py,sha256=QGJ-jlD0jCKIb5avzri1Z29zdIL3Cn6m4kaEOko3U6M,15615
1403
- zrb/task/flow_task.py,sha256=RPci5Inc_QImq9sYI3SnDODeqMtwhO2DA7axbFoZPEQ,5158
1406
+ zrb/task/docker_compose_task.py,sha256=NuNevzooQVn3wgMNrBBdVD2FepRpE38ouYkRNXeqQ2s,15543
1407
+ zrb/task/flow_task.py,sha256=wkvvUCrt6n1ul-o3STCPMdrlBuGBrNCRgtRzGyXir9o,5079
1404
1408
  zrb/task/http_checker.py,sha256=gXqBlEStMnIhzmQ7FX9Zo-nG3-wsiVEML8IOJiSG5JI,5705
1405
1409
  zrb/task/looper.py,sha256=zInLRgcQlReGXz4Ffxc2W99RovSChj6kHuGEGmaPb-Q,1432
1406
1410
  zrb/task/notifier.py,sha256=xjqT5Vydr_0cc1m4jA-odhHMZg6CSGciFCs0rhVkvPM,6265
@@ -1409,9 +1413,9 @@ zrb/task/path_checker.py,sha256=xkOpxlLUaEXlsiWh1o-ghqQNWYadXvTl3QV4yeIC2Rc,4677
1409
1413
  zrb/task/path_watcher.py,sha256=aKWhT7Kuc_UJMr8SSY7ZZym-_rV526tEeIaKRRz3XYU,7419
1410
1414
  zrb/task/port_checker.py,sha256=SG2yrAxdJgxdR6xymviB48K529o3Rnq_WhDJZDKgAQg,4605
1411
1415
  zrb/task/recurring_task.py,sha256=wtZhi0DCDdVM7ecIgoXghQPTOQemrEvCY8xDJoaG1mo,7444
1412
- zrb/task/remote_cmd_task.py,sha256=jl4lcAiRwy30H-wGVJr4111xGZ7n3p0cTL2zRPi8dqY,3970
1416
+ zrb/task/remote_cmd_task.py,sha256=-kNkRVSIDrNJcVRBfMpc-fXYOHh6Fs2PTsiOzWwimTM,5793
1413
1417
  zrb/task/resource_maker.py,sha256=e6nmFJsVHHo8_sW5F-lBfkO_2RszrlXNoubh4rwM6UY,7644
1414
- zrb/task/rsync_task.py,sha256=qu5vyQUIkypgLH-974qICNtjs3ZGg3Cp1e904kxs44I,4235
1418
+ zrb/task/rsync_task.py,sha256=NdfKtendGyH9Kg17hEsavl1NoeIJ04FTii2OaXg_S6g,6022
1415
1419
  zrb/task/server.py,sha256=zC8swQOu_3YkRtGFXuRGZqz6yEu--ZhNRgNwbR44uUA,6741
1416
1420
  zrb/task/task.py,sha256=iHDyUMUh1uVGlMCQdVewdT3epCOHKNRKblC3G1WSKS0,2493
1417
1421
  zrb/task/time_watcher.py,sha256=v01whCMTvul_vraVccy8A9rDBk-CL7HFvPOu8g1BC5s,5130
@@ -1434,8 +1438,8 @@ zrb/task_input/multiline_input.py,sha256=KNto5k5X1C6KE_A-vX0OjpQyjgCRJ6BR2PwHXNQ
1434
1438
  zrb/task_input/password_input.py,sha256=95NlJ9xIq7z_evpAyR2XsBpeuWpBXd2Ezn3P7oDOttk,4360
1435
1439
  zrb/task_input/str_input.py,sha256=0nje7vI9fs_xqQBbmKB8Yn7wevlWp9Qebv7f8-GmiXs,4350
1436
1440
  zrb/task_input/task_input.py,sha256=WTj_qIQyRs-04-VotjNTcVyIuf6b2afInVoCQHoRmr0,2327
1437
- zrb-0.26.0.dist-info/LICENSE,sha256=WfnGCl8G60EYOPAEkuc8C9m9pdXWDe08NsKj3TBbxsM,728
1438
- zrb-0.26.0.dist-info/METADATA,sha256=v5Q0BGRSOW4Hy5vvsMm8Mp4Tp5t-o1HK4PbM50YzlvA,17085
1439
- zrb-0.26.0.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
1440
- zrb-0.26.0.dist-info/entry_points.txt,sha256=xTgXc1kBKYhJHEujdaSPHUcJT3-hbyP1mLgwkv-5sSk,40
1441
- zrb-0.26.0.dist-info/RECORD,,
1441
+ zrb-0.27.1.dist-info/LICENSE,sha256=WfnGCl8G60EYOPAEkuc8C9m9pdXWDe08NsKj3TBbxsM,728
1442
+ zrb-0.27.1.dist-info/METADATA,sha256=-ckE3NSw1Xels6NSJMCI3kRdv55-x21CTF9UE6LpdiM,17094
1443
+ zrb-0.27.1.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
1444
+ zrb-0.27.1.dist-info/entry_points.txt,sha256=xTgXc1kBKYhJHEujdaSPHUcJT3-hbyP1mLgwkv-5sSk,40
1445
+ zrb-0.27.1.dist-info/RECORD,,
@@ -1,12 +0,0 @@
1
- set -e
2
- auth_rsync(){
3
- if [ "$_CONFIG_SSH_KEY" != "" ]
4
- then
5
- rsync --mkpath -avz -e "ssh -i $_CONFIG_SSH_KEY -p $_CONFIG_PORT" $@
6
- elif [ "$_CONFIG_PASSWORD" != "" ]
7
- then
8
- sshpass -p "$_CONFIG_PASSWORD" rsync --mkpath -avz -e "ssh -p $_CONFIG_PORT" $@
9
- else
10
- rsync --mkpath -avz -e "ssh -p $_CONFIG_PORT" $@
11
- fi
12
- }
@@ -1,12 +0,0 @@
1
- set -e
2
- auth_ssh(){
3
- if [ "$_CONFIG_SSH_KEY" != "" ]
4
- then
5
- ssh -t -p "$_CONFIG_PORT" -i "$_CONFIG_SSH_KEY" "${_CONFIG_USER}@${_CONFIG_HOST}" "$1"
6
- elif [ "$_CONFIG_PASSWORD" != "" ]
7
- then
8
- sshpass -p "$_CONFIG_PASSWORD" ssh -t -p "$_CONFIG_PORT" "${_CONFIG_USER}@${_CONFIG_HOST}" "$1"
9
- else
10
- ssh -t -p "$_CONFIG_PORT" "${_CONFIG_USER}@${_CONFIG_HOST}" "$1"
11
- fi
12
- }