dekshell 0.2.44__py3-none-any.whl → 0.2.46__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/markers/__init__.py +3 -3
- dekshell/core/markers/base/__init__.py +16 -1
- dekshell/core/markers/base/core.py +1 -1
- dekshell/core/markers/exec.py +20 -2
- dekshell/core/markers/var.py +1 -2
- {dekshell-0.2.44.dist-info → dekshell-0.2.46.dist-info}/METADATA +1 -1
- {dekshell-0.2.44.dist-info → dekshell-0.2.46.dist-info}/RECORD +9 -9
- {dekshell-0.2.44.dist-info → dekshell-0.2.46.dist-info}/WHEEL +0 -0
- {dekshell-0.2.44.dist-info → dekshell-0.2.46.dist-info}/entry_points.txt +0 -0
|
@@ -26,9 +26,9 @@ def generate_markers(*args, **kwargs):
|
|
|
26
26
|
ErrorEchoMarker, EchoNoWrapMarker, EchoMarker,
|
|
27
27
|
InputMarker, InputOnceMarker,
|
|
28
28
|
DelVarMarker,
|
|
29
|
-
ExecLinesUpdateMarker, ExecLinesMarker, ExecTranslatorMarker, ExecMarker,
|
|
30
|
-
|
|
31
|
-
ExecCmdcallMarker, ExecCmdcallChainMarker,
|
|
29
|
+
ExecLinesUpdateMarker, ExecLinesTranslatorMarker, ExecLinesMarker, ExecTranslatorMarker, ExecMarker,
|
|
30
|
+
ExecCommandOutputChainMarker,
|
|
31
|
+
ExecCmdcallSimpleLinesMarker, ExecCmdcallLinesMarker, ExecCmdcallMarker, ExecCmdcallChainMarker,
|
|
32
32
|
EnvShellMarker, EnvMarker,
|
|
33
33
|
IfMarker, IfElifMarker, IfElseMarker,
|
|
34
34
|
WhileMarker, WhileElseMarker,
|
|
@@ -440,13 +440,28 @@ class TransformerMarker(MarkerBase):
|
|
|
440
440
|
class MarkerWithEnd(MarkerBase):
|
|
441
441
|
tag_tail = EndMarker
|
|
442
442
|
|
|
443
|
-
def get_inner_content(self, context, marker_node, sep='\n', translate=None):
|
|
443
|
+
def get_inner_content(self, context, marker_node, sep='\n', translate=None, code=False):
|
|
444
444
|
def walk(node, depth):
|
|
445
445
|
if depth != 0:
|
|
446
446
|
commands.append(self.translate_case(context, node.text_content, translate))
|
|
447
447
|
|
|
448
448
|
commands = []
|
|
449
449
|
marker_node.walk(walk)
|
|
450
|
+
if code:
|
|
451
|
+
if commands:
|
|
452
|
+
c = commands[0]
|
|
453
|
+
cc = c.lstrip()
|
|
454
|
+
tabs = c[:len(c) - len(cc)]
|
|
455
|
+
result = []
|
|
456
|
+
for index, line in enumerate(commands):
|
|
457
|
+
if not line.startswith(tabs) and line.lstrip():
|
|
458
|
+
raise ValueError(
|
|
459
|
+
f'Code block has indents error:\n'
|
|
460
|
+
f'translated-line=>{line}'
|
|
461
|
+
f'lineno=> {marker_node.line_number + index + 1}\n'
|
|
462
|
+
)
|
|
463
|
+
result.append(line[len(tabs):])
|
|
464
|
+
commands = result
|
|
450
465
|
return sep.join(commands)
|
|
451
466
|
|
|
452
467
|
def eval_codes(self, context, code):
|
|
@@ -224,7 +224,7 @@ class MarkerNode:
|
|
|
224
224
|
except Exception as e:
|
|
225
225
|
sys.stderr.write(f"Execute error {node.marker}:\n\
|
|
226
226
|
command=> {node.command if node.command_old is None else node.command_old}\n\
|
|
227
|
-
|
|
227
|
+
lineno=> {node.line_number}\n\
|
|
228
228
|
context=>\n\
|
|
229
229
|
{context}")
|
|
230
230
|
raise e from None
|
dekshell/core/markers/exec.py
CHANGED
|
@@ -25,7 +25,16 @@ class ExecLinesMarker(MarkerWithEnd, MarkerNoTranslator):
|
|
|
25
25
|
tag_head = cmd_call_eval_prefix * 2
|
|
26
26
|
|
|
27
27
|
def execute(self, context, command, marker_node, marker_set):
|
|
28
|
-
code = self.get_inner_content(context, marker_node, translate=False)
|
|
28
|
+
code = self.get_inner_content(context, marker_node, translate=False, code=True)
|
|
29
|
+
self.eval_lines(context, code)
|
|
30
|
+
return []
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
class ExecLinesTranslatorMarker(MarkerWithEnd):
|
|
34
|
+
tag_head = cmd_call_eval_prefix + cmd_call_eval_trans_prefix
|
|
35
|
+
|
|
36
|
+
def execute(self, context, command, marker_node, marker_set):
|
|
37
|
+
code = self.get_inner_content(context, marker_node, translate=True, code=True)
|
|
29
38
|
self.eval_lines(context, code)
|
|
30
39
|
return []
|
|
31
40
|
|
|
@@ -34,7 +43,7 @@ class ExecLinesUpdateMarker(MarkerWithEnd, MarkerNoTranslator):
|
|
|
34
43
|
tag_head = cmd_call_eval_prefix * 3
|
|
35
44
|
|
|
36
45
|
def execute(self, context, command, marker_node, marker_set):
|
|
37
|
-
code = self.get_inner_content(context, marker_node, translate=False)
|
|
46
|
+
code = self.get_inner_content(context, marker_node, translate=False, code=True)
|
|
38
47
|
context.update_variables(self.eval_lines(context, code))
|
|
39
48
|
return []
|
|
40
49
|
|
|
@@ -52,6 +61,15 @@ class ExecCmdcallChainMarker(ExecCmdcallMarkerBase):
|
|
|
52
61
|
tag_head = cmd_call_prefix_chain + cmd_call_prefix_simple
|
|
53
62
|
|
|
54
63
|
|
|
64
|
+
class MarkerParseExprBase(MarkerBase):
|
|
65
|
+
def execute(self, context, command, marker_node, marker_set):
|
|
66
|
+
self.parse_expression(context, command.lstrip())
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
class ExecCommandOutputChainMarker(MarkerParseExprBase):
|
|
70
|
+
tag_head = MarkerBase.trans_marker_command_output
|
|
71
|
+
|
|
72
|
+
|
|
55
73
|
class ExecCmdcallSimpleLinesMarker(MarkerWithEnd):
|
|
56
74
|
command_append_prefix = cmd_call_prefix_simple
|
|
57
75
|
tag_head = cmd_call_prefix_simple * 3
|
dekshell/core/markers/var.py
CHANGED
|
@@ -75,7 +75,7 @@ class AssignExecMarker(MarkerAssignBase, MarkerWithEnd, MarkerNoTranslator):
|
|
|
75
75
|
tag_head_re_args = cmd_call_eval_prefix * 2
|
|
76
76
|
|
|
77
77
|
def execute(self, context, command, marker_node, marker_set):
|
|
78
|
-
code = self.get_inner_content(context, marker_node, translate=False)
|
|
78
|
+
code = self.get_inner_content(context, marker_node, translate=False, code=True)
|
|
79
79
|
result = self.eval_codes(context, code)
|
|
80
80
|
args = self.split_raw(command, 1, self.tag_head_re_args)
|
|
81
81
|
self.set_var(context, args, 0, result)
|
|
@@ -104,7 +104,6 @@ class AssignCommandOutputMarker(MarkerAssignValueParseExprBase):
|
|
|
104
104
|
tag_head_re_args = re.escape(MarkerBase.trans_marker_command_output)
|
|
105
105
|
|
|
106
106
|
|
|
107
|
-
|
|
108
107
|
class AssignDecodeMarker(MarkerAssignValueParseExprBase):
|
|
109
108
|
tag_head_re_args_raw = MarkerBase.trans_marker_decode
|
|
110
109
|
tag_head_re_args = re.escape(MarkerBase.trans_marker_decode)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
dekshell-0.2.
|
|
2
|
-
dekshell-0.2.
|
|
3
|
-
dekshell-0.2.
|
|
1
|
+
dekshell-0.2.46.dist-info/METADATA,sha256=gbaxxMuDa_Xnriv98UxTSChJlAtSrgA7JqaZqnwXDRg,573
|
|
2
|
+
dekshell-0.2.46.dist-info/WHEEL,sha256=tSfRZzRHthuv7vxpI4aehrdN9scLjk-dCJkPLzkHxGg,90
|
|
3
|
+
dekshell-0.2.46.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=r-AHdO9CEEVvTN20-8Jozr6Zh8XSv_BnktYRwrlhtrE,2046
|
|
@@ -8,9 +8,9 @@ dekshell/core/__init__.py,sha256=isDEKwk1odLdvTQNCILCtVNBuXp1uFVPz_uTDNihkVU,554
|
|
|
8
8
|
dekshell/core/contexts/__init__.py,sha256=ynsfv37azOKfI2UKd0iPl2M6iBW-k5cb1BqSLOWuJpI,482
|
|
9
9
|
dekshell/core/contexts/methods.py,sha256=3Bzfv_t8At5MqR0xD7qT8zye6KQySeXr0HpwuendrdE,11789
|
|
10
10
|
dekshell/core/contexts/properties.py,sha256=TQonN3T_K2cB2uakq_DVVB13B-IFwoM6t2ZkL_OMekw,3365
|
|
11
|
-
dekshell/core/markers/__init__.py,sha256=
|
|
12
|
-
dekshell/core/markers/base/__init__.py,sha256=
|
|
13
|
-
dekshell/core/markers/base/core.py,sha256=
|
|
11
|
+
dekshell/core/markers/__init__.py,sha256=mK6OiZMWmUTrkAL0Bc1XqRTSb-NNhBgpHb7GLivLAlk,2235
|
|
12
|
+
dekshell/core/markers/base/__init__.py,sha256=0LYnOVNXPBHfRQII00ZGkESTFX82TgHdSaTcHJoebXc,18051
|
|
13
|
+
dekshell/core/markers/base/core.py,sha256=5TYAg7JWX58669RBUOMgJxCUMuOARPDL7GENNtNAYls,12558
|
|
14
14
|
dekshell/core/markers/base/shell.py,sha256=fiFsTUDI8pSDDUCk834OI4ajri2qNWFJkLVhmUk2uAs,484
|
|
15
15
|
dekshell/core/markers/commands.py,sha256=mDRj4dSfKbDaZ_ts4lPXd6wftvGFI4VKkRoIzxV7otA,1696
|
|
16
16
|
dekshell/core/markers/comment.py,sha256=U1U3Xc4-giTqSEAPa4E_DmilZM9hs9zG-PCJ9nn4y5U,965
|
|
@@ -18,7 +18,7 @@ dekshell/core/markers/define.py,sha256=Xlw_YPOWlmbopVIHhIeAKWSZhHhXmqb3gCbXxvuH4
|
|
|
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=hU6irauFrvsUgK9j6jifosiMn0b6mt3aOf5t9oKhxS4,1160
|
|
21
|
-
dekshell/core/markers/exec.py,sha256=
|
|
21
|
+
dekshell/core/markers/exec.py,sha256=tcKZzTuGH17UOi6dycgHGjX3mHrvjKLj8Bnga38tE7U,3369
|
|
22
22
|
dekshell/core/markers/for_.py,sha256=wQnK3-o0dQl4A2wx8xgs6V2dzgEjEbnt4MML2fh2x8U,2148
|
|
23
23
|
dekshell/core/markers/function.py,sha256=j8Cz4ouBQi_0dT6Q6pfJie-1rfIZuSIcWzGBlsKCSd8,3850
|
|
24
24
|
dekshell/core/markers/if_.py,sha256=UqEnR0X9bKO7hEKol3MJNWXvP7fuJAGt8zwk3xlBCuk,1118
|
|
@@ -27,7 +27,7 @@ dekshell/core/markers/invoke.py,sha256=ESL2DE9DTaq33AnrXpvEudp1qtoeZFKOhLL12OQpc
|
|
|
27
27
|
dekshell/core/markers/pip_.py,sha256=mxXa_oqcrk4Qz-HvhlkMoirsl-SbM9Fz610leNqP1o0,832
|
|
28
28
|
dekshell/core/markers/redirect.py,sha256=cpTQaXFAuSwprsrhUNP0xTGDmu06HGNQVcwKsETEjas,1981
|
|
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=lGKhKP7NcKc5f_kiombR1d_d2TyRYfVDa9mcB3MJxOY,6894
|
|
31
31
|
dekshell/core/markers/while_.py,sha256=Q0SaElyXSrxg-wS_rfCcxMsmw9jf-0SgN1ICn860T4A,1201
|
|
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=K9FbXgHcGFchHA58xI0_t4YK4yb8XkWbxsNoztYRx3Y,518
|
|
|
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.46.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|