dekshell 0.2.22__py3-none-any.whl → 0.2.24__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.
- dekshell/core/contexts/methods.py +6 -0
- dekshell/core/markers/__init__.py +3 -2
- dekshell/core/markers/base/__init__.py +5 -1
- dekshell/core/markers/exec.py +11 -2
- dekshell/core/markers/var.py +7 -0
- {dekshell-0.2.22.dist-info → dekshell-0.2.24.dist-info}/METADATA +1 -1
- {dekshell-0.2.22.dist-info → dekshell-0.2.24.dist-info}/RECORD +9 -9
- {dekshell-0.2.22.dist-info → dekshell-0.2.24.dist-info}/WHEEL +0 -0
- {dekshell-0.2.22.dist-info → dekshell-0.2.24.dist-info}/entry_points.txt +0 -0
|
@@ -126,6 +126,11 @@ def _eval_lines(expression, default=_eval_default):
|
|
|
126
126
|
return default
|
|
127
127
|
|
|
128
128
|
|
|
129
|
+
def _defined(name):
|
|
130
|
+
default = object()
|
|
131
|
+
return _eval_mixin(name, default=default) is not default
|
|
132
|
+
|
|
133
|
+
|
|
129
134
|
def _install(name):
|
|
130
135
|
def posix(exe):
|
|
131
136
|
s = f"{exe} install -y {name}"
|
|
@@ -214,6 +219,7 @@ path_common_methods = {
|
|
|
214
219
|
}
|
|
215
220
|
|
|
216
221
|
default_methods = {
|
|
222
|
+
'defined': _defined,
|
|
217
223
|
'io': _io,
|
|
218
224
|
'reduce': reduce,
|
|
219
225
|
'chain': chain,
|
|
@@ -26,7 +26,8 @@ def generate_markers(*args, **kwargs):
|
|
|
26
26
|
ErrorEchoMarker, EchoNoWrapMarker, EchoMarker,
|
|
27
27
|
InputMarker, InputOnceMarker,
|
|
28
28
|
DelVarMarker,
|
|
29
|
-
ExecLinesUpdateMarker, ExecLinesMarker, ExecMarker, ExecCmdcallSimpleLinesMarker,
|
|
29
|
+
ExecLinesUpdateMarker, ExecLinesMarker, ExecTranslatorMarker, ExecMarker, ExecCmdcallSimpleLinesMarker,
|
|
30
|
+
ExecCmdcallLinesMarker,
|
|
30
31
|
ExecCmdcallMarker, ExecCmdcallChainMarker,
|
|
31
32
|
EnvShellMarker, EnvMarker,
|
|
32
33
|
IfMarker, IfElifMarker, IfElseMarker,
|
|
@@ -46,7 +47,7 @@ def generate_markers(*args, **kwargs):
|
|
|
46
47
|
IgnoreMarker,
|
|
47
48
|
IgnoreErrorShellMarker, PrefixShellMarker,
|
|
48
49
|
AssignCallMarker, AssignInvokerMarker, AssignGotoMarker, AssignTimeoutMarker, AssignRetryMarker,
|
|
49
|
-
AssignExecMarker, AssignEvalMarker, AssignCmdcallMarker, AssignCmdcallChainMarker,
|
|
50
|
+
AssignExecMarker, AssignTranslatorEvalMarker, AssignEvalMarker, AssignCmdcallMarker, AssignCmdcallChainMarker,
|
|
50
51
|
AssignMultiLineRawStrMarker, AssignMultiLineStrMarker, AssignRawStrMarker, AssignStrMarker,
|
|
51
52
|
EmptyMarker, # must be at the tail
|
|
52
53
|
]
|
|
@@ -11,6 +11,7 @@ cmd_call_prefix_simple = '>'
|
|
|
11
11
|
cmd_call_prefix = cmd_call_prefix_simple * 2
|
|
12
12
|
cmd_call_prefix_chain = '*'
|
|
13
13
|
cmd_call_eval_prefix = '='
|
|
14
|
+
cmd_call_eval_trans_prefix = cmd_call_eval_prefix + ':'
|
|
14
15
|
cmd_call_eval_escape = '\\'
|
|
15
16
|
|
|
16
17
|
|
|
@@ -268,7 +269,10 @@ class MarkerBase:
|
|
|
268
269
|
value = f(*value)
|
|
269
270
|
return value
|
|
270
271
|
else:
|
|
271
|
-
if expression.startswith(
|
|
272
|
+
if expression.startswith(cmd_call_eval_trans_prefix):
|
|
273
|
+
expression = expression[len(cmd_call_eval_trans_prefix):]
|
|
274
|
+
expression = cls.translate_case(context, expression, True)
|
|
275
|
+
elif expression.startswith(cmd_call_eval_prefix):
|
|
272
276
|
expression = expression[len(cmd_call_eval_prefix):]
|
|
273
277
|
return cls.eval(context, expression)
|
|
274
278
|
|
dekshell/core/markers/exec.py
CHANGED
|
@@ -1,10 +1,19 @@
|
|
|
1
1
|
from .base import MarkerBase, MarkerWithEnd, MarkerNoTranslator, cmd_call_prefix_simple, \
|
|
2
|
-
cmd_call_prefix_chain
|
|
2
|
+
cmd_call_prefix_chain, cmd_call_eval_prefix, cmd_call_eval_trans_prefix
|
|
3
3
|
from .empty import EmptyMarker
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
class ExecMarker(MarkerNoTranslator):
|
|
7
|
-
tag_head =
|
|
7
|
+
tag_head = cmd_call_eval_prefix
|
|
8
|
+
|
|
9
|
+
def execute(self, context, command, marker_node, marker_set):
|
|
10
|
+
args = self.split_raw(command, 1, self.tag_head)
|
|
11
|
+
if args[1]:
|
|
12
|
+
self.eval(context, args[1])
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class ExecTranslatorMarker(MarkerBase):
|
|
16
|
+
tag_head = cmd_call_eval_trans_prefix
|
|
8
17
|
|
|
9
18
|
def execute(self, context, command, marker_node, marker_set):
|
|
10
19
|
args = self.split_raw(command, 1, self.tag_head)
|
dekshell/core/markers/var.py
CHANGED
|
@@ -61,6 +61,13 @@ class AssignEvalMarker(MarkerAssignValueBase, MarkerNoTranslator):
|
|
|
61
61
|
return self.eval(context, expression)
|
|
62
62
|
|
|
63
63
|
|
|
64
|
+
class AssignTranslatorEvalMarker(MarkerAssignValueBase):
|
|
65
|
+
tag_head_re_args = '=:'
|
|
66
|
+
|
|
67
|
+
def get_value(self, context, marker_node, marker_set, expression):
|
|
68
|
+
return self.eval(context, expression)
|
|
69
|
+
|
|
70
|
+
|
|
64
71
|
class AssignExecMarker(MarkerAssignBase, MarkerWithEnd, MarkerNoTranslator):
|
|
65
72
|
tag_head_re_args = '=='
|
|
66
73
|
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
dekshell-0.2.
|
|
2
|
-
dekshell-0.2.
|
|
3
|
-
dekshell-0.2.
|
|
1
|
+
dekshell-0.2.24.dist-info/METADATA,sha256=f-mIEj9boAs1HVZhe7DCujOQ6Kjst9S8Hz0pESrZR7Q,573
|
|
2
|
+
dekshell-0.2.24.dist-info/WHEEL,sha256=tSfRZzRHthuv7vxpI4aehrdN9scLjk-dCJkPLzkHxGg,90
|
|
3
|
+
dekshell-0.2.24.dist-info/entry_points.txt,sha256=d-kbfULiUTZWIBBsrQF3J_-wESncF-4K2rwHT08grlI,75
|
|
4
4
|
dekshell/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
5
5
|
dekshell/click/__entry__.py,sha256=CMuxUzXoEe4TcHFZwv-MNFwHnu1HSZCDpXFpqQ814uM,42
|
|
6
6
|
dekshell/click/__init__.py,sha256=rFzB_exzPQaIcbbms5PdHAU3NGdl2MBaYbq9v7g7BOI,1870
|
|
7
7
|
dekshell/core/__init__.py,sha256=w-IeR-tO61Mv4ubZyw9LvyagudyD8SXH0YD3yKApNXk,5405
|
|
8
8
|
dekshell/core/contexts/__init__.py,sha256=ynsfv37azOKfI2UKd0iPl2M6iBW-k5cb1BqSLOWuJpI,482
|
|
9
|
-
dekshell/core/contexts/methods.py,sha256
|
|
9
|
+
dekshell/core/contexts/methods.py,sha256=-wyKam6IZIjk2269D8rXf85psOzFTMpCjfO_ZMd81yI,9630
|
|
10
10
|
dekshell/core/contexts/properties.py,sha256=esr51c6wDTDsuFXF2uj7WfyIGSq9H0dzqDqWzeMTNQE,2382
|
|
11
|
-
dekshell/core/markers/__init__.py,sha256=
|
|
12
|
-
dekshell/core/markers/base/__init__.py,sha256=
|
|
11
|
+
dekshell/core/markers/__init__.py,sha256=_HJsxjjsyYbL7Pj6jhoeJ1WJI92qwCbdl-BKvQcGHlA,1949
|
|
12
|
+
dekshell/core/markers/base/__init__.py,sha256=DDYlAIiVwmXCv4PiH042FRTwxn6Wxdnt0PsV_BSbYaY,13729
|
|
13
13
|
dekshell/core/markers/base/core.py,sha256=ztB28fDPeqUkXCHchxjU2JO7R1klp_iUj2d6e8IlGCA,11567
|
|
14
14
|
dekshell/core/markers/base/shell.py,sha256=DhaekMMTuABYP4GyZA05eejFfgxb1lQBwI88dlFv90E,479
|
|
15
15
|
dekshell/core/markers/commands.py,sha256=mDRj4dSfKbDaZ_ts4lPXd6wftvGFI4VKkRoIzxV7otA,1696
|
|
@@ -18,7 +18,7 @@ dekshell/core/markers/define.py,sha256=LpMSfz9ziXq2aFJ6oMpUFFo93TpBx7GxKYNzCeht4
|
|
|
18
18
|
dekshell/core/markers/echo.py,sha256=1H61qQbY9tZnrKsdTI_shTmDY5ZaSGipDuBSRptAuZw,660
|
|
19
19
|
dekshell/core/markers/empty.py,sha256=pWKsHlrp6uXWU6blqOs0IgN_3kYm1OmDQiKGPERabAo,79
|
|
20
20
|
dekshell/core/markers/env.py,sha256=6ZtiMNdKFbGR_DBjG6C7A8L_lJsiymN5Y5AbnTzyMrE,1158
|
|
21
|
-
dekshell/core/markers/exec.py,sha256=
|
|
21
|
+
dekshell/core/markers/exec.py,sha256=4_7FRUEgbAtt0_9r8TmOar_Zi6VXxe6E7p3RL6sVgQg,2705
|
|
22
22
|
dekshell/core/markers/for_.py,sha256=uNOEwyDsjffttEBtUYasdlj7FP_sGnQzWuTV5d5esHY,2142
|
|
23
23
|
dekshell/core/markers/function.py,sha256=RPh56_rYbWXCTkNPiJu8zNEj-OE6txKgEw7Im9fBM3c,3592
|
|
24
24
|
dekshell/core/markers/if_.py,sha256=bBG1fDCZd5alE5FSm0QhgHl6ZJn5awiqZAXnPnO-thc,1112
|
|
@@ -27,7 +27,7 @@ dekshell/core/markers/invoke.py,sha256=To_U_FscoCbf7osvjC5MQTk2gjH5Mu_-06Kb22YQP
|
|
|
27
27
|
dekshell/core/markers/pip_.py,sha256=mxXa_oqcrk4Qz-HvhlkMoirsl-SbM9Fz610leNqP1o0,832
|
|
28
28
|
dekshell/core/markers/redirect.py,sha256=3vfkRQ2tnQ6rSGGn7csgUlpDi0s2ep5X7JU7NVvo0eI,1984
|
|
29
29
|
dekshell/core/markers/shell.py,sha256=43BDAAzMdmgZmemkW5buh_w4LL1GDGw-s9fNZo6vhag,1929
|
|
30
|
-
dekshell/core/markers/var.py,sha256=
|
|
30
|
+
dekshell/core/markers/var.py,sha256=_7Z4gMxm63Q0eVgg71hFSy1nGUz7Tf5Kp02ek16c3Cc,5043
|
|
31
31
|
dekshell/core/markers/while_.py,sha256=e7lI5jsIM-qxNHMY_wUyCMvvesdXQibR5Ez2jNO9csc,1195
|
|
32
32
|
dekshell/core/plugin/__init__.py,sha256=jAB_KnnHJsyJR_zIfBU_HNLngyhcyyqVv05PdlNZtF8,428
|
|
33
33
|
dekshell/core/redirect.py,sha256=6YCJpG0TkQ4WMt7LBtDD_W1T-C-QkLtGRQw0S60qe54,1058
|
|
@@ -37,4 +37,4 @@ dekshell/utils/cmd.py,sha256=FfWNRRRdiiTs3xoXvaAyZ-3OzsWFRnd3m5k6sIexrhc,1209
|
|
|
37
37
|
dekshell/utils/pkg.py,sha256=TgYqRqawoJfjkxt6UAHnp9ttmpjuHiWRFbqxADOS1VE,1337
|
|
38
38
|
dekshell/utils/serializer.py,sha256=aIdF2Wzo-qHmIshv46jn1XD0X66vQ1JFdU-g3ZFbH2w,386
|
|
39
39
|
dekshell/utils/shell.py,sha256=0NoA2-SOOMinbmZZipwzL-npBbzPOdWEfdPVYqq5G5g,92
|
|
40
|
-
dekshell-0.2.
|
|
40
|
+
dekshell-0.2.24.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|