dekshell 0.2.21__py3-none-any.whl → 0.2.23__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 +9 -1
- dekshell/core/markers/__init__.py +3 -2
- dekshell/core/markers/exec.py +9 -0
- dekshell/core/markers/redirect.py +8 -2
- dekshell/core/markers/var.py +7 -0
- {dekshell-0.2.21.dist-info → dekshell-0.2.23.dist-info}/METADATA +1 -1
- {dekshell-0.2.21.dist-info → dekshell-0.2.23.dist-info}/RECORD +9 -9
- {dekshell-0.2.21.dist-info → dekshell-0.2.23.dist-info}/WHEEL +0 -0
- {dekshell-0.2.21.dist-info → dekshell-0.2.23.dist-info}/entry_points.txt +0 -0
|
@@ -175,6 +175,14 @@ def _pymd(name):
|
|
|
175
175
|
return None
|
|
176
176
|
|
|
177
177
|
|
|
178
|
+
def _pyms(path=None):
|
|
179
|
+
if not path:
|
|
180
|
+
path = _eval_mixin('fp', None)
|
|
181
|
+
if not path:
|
|
182
|
+
path = os.getcwd()
|
|
183
|
+
return seek_py_module_path(path)
|
|
184
|
+
|
|
185
|
+
|
|
178
186
|
def _time_mark(begin=True, name=None):
|
|
179
187
|
var_prefix = '__time_marker__'
|
|
180
188
|
if name is None:
|
|
@@ -202,7 +210,7 @@ path_common_methods = {
|
|
|
202
210
|
'pybin': lambda x, p=None: search_bin_by_path_tree(p or os.getcwd(), x, False),
|
|
203
211
|
'pym': _pym,
|
|
204
212
|
'pymd': _pymd,
|
|
205
|
-
'pyms':
|
|
213
|
+
'pyms': _pyms,
|
|
206
214
|
}
|
|
207
215
|
|
|
208
216
|
default_methods = {
|
|
@@ -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
|
]
|
dekshell/core/markers/exec.py
CHANGED
|
@@ -12,6 +12,15 @@ class ExecMarker(MarkerNoTranslator):
|
|
|
12
12
|
self.eval(context, args[1])
|
|
13
13
|
|
|
14
14
|
|
|
15
|
+
class ExecTranslatorMarker(MarkerBase):
|
|
16
|
+
tag_head = '=:'
|
|
17
|
+
|
|
18
|
+
def execute(self, context, command, marker_node, marker_set):
|
|
19
|
+
args = self.split_raw(command, 1, self.tag_head)
|
|
20
|
+
if args[1]:
|
|
21
|
+
self.eval(context, args[1])
|
|
22
|
+
|
|
23
|
+
|
|
15
24
|
class ExecLinesMarker(MarkerWithEnd, MarkerNoTranslator):
|
|
16
25
|
tag_head = '=='
|
|
17
26
|
|
|
@@ -11,13 +11,19 @@ class MarkerRedirect(MarkerBase):
|
|
|
11
11
|
def execute(self, context, command, marker_node, marker_set):
|
|
12
12
|
filepath = self.split_raw(command, 1, self.tag_head)[1]
|
|
13
13
|
if not filepath:
|
|
14
|
-
filepath = self.
|
|
14
|
+
filepath = self.get_filepath(context)
|
|
15
15
|
path_shell = redirect_shell_by_path_tree(filepath)
|
|
16
16
|
self.execute_core(context, marker_node, marker_set, path_shell)
|
|
17
17
|
|
|
18
18
|
def execute_core(self, context, marker_node, marker_set, path_shell):
|
|
19
19
|
raise NotImplementedError
|
|
20
20
|
|
|
21
|
+
def get_filepath(self, context):
|
|
22
|
+
try:
|
|
23
|
+
return self.eval(context, "fp")
|
|
24
|
+
except NameError:
|
|
25
|
+
return os.getcwd()
|
|
26
|
+
|
|
21
27
|
|
|
22
28
|
class RedirectMarker(MarkerRedirect):
|
|
23
29
|
tag_head = "redirect"
|
|
@@ -27,7 +33,7 @@ class RedirectMarker(MarkerRedirect):
|
|
|
27
33
|
if path_shell:
|
|
28
34
|
shell_properties = make_shell_properties(path_shell)
|
|
29
35
|
if shell_properties['shell'] != current_shell:
|
|
30
|
-
fp = self.
|
|
36
|
+
fp = self.get_filepath(context)
|
|
31
37
|
fpp = os.path.dirname(fp).replace('/', os.sep)
|
|
32
38
|
shell = shell_properties['sh']['rfc' if os.getcwd() == fpp else 'rf']
|
|
33
39
|
args, kwargs = self.eval(context, f'({key_args}, {key_kwargs})')
|
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,14 +1,14 @@
|
|
|
1
|
-
dekshell-0.2.
|
|
2
|
-
dekshell-0.2.
|
|
3
|
-
dekshell-0.2.
|
|
1
|
+
dekshell-0.2.23.dist-info/METADATA,sha256=-yW7n04nStm4XlwzlCpJAdpY7BLC3qG0Gg2pTgJzmWs,573
|
|
2
|
+
dekshell-0.2.23.dist-info/WHEEL,sha256=tSfRZzRHthuv7vxpI4aehrdN9scLjk-dCJkPLzkHxGg,90
|
|
3
|
+
dekshell-0.2.23.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=J1xYu469PCDiCHcktBzERn_ankONavPmJVYerFBVjzQ,9499
|
|
10
10
|
dekshell/core/contexts/properties.py,sha256=esr51c6wDTDsuFXF2uj7WfyIGSq9H0dzqDqWzeMTNQE,2382
|
|
11
|
-
dekshell/core/markers/__init__.py,sha256=
|
|
11
|
+
dekshell/core/markers/__init__.py,sha256=_HJsxjjsyYbL7Pj6jhoeJ1WJI92qwCbdl-BKvQcGHlA,1949
|
|
12
12
|
dekshell/core/markers/base/__init__.py,sha256=Rcc77ToE4cFlJvGwezRez4nAcfbdzgAhDRHaew5wvk0,13456
|
|
13
13
|
dekshell/core/markers/base/core.py,sha256=ztB28fDPeqUkXCHchxjU2JO7R1klp_iUj2d6e8IlGCA,11567
|
|
14
14
|
dekshell/core/markers/base/shell.py,sha256=DhaekMMTuABYP4GyZA05eejFfgxb1lQBwI88dlFv90E,479
|
|
@@ -18,16 +18,16 @@ 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=CiDqcwY4T1kMFNwSXTniJZezv4Qa_rA09ieFP5VJhiA,2616
|
|
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
|
|
25
25
|
dekshell/core/markers/input.py,sha256=O0yvGtt1uhbpE2gOReLseAmshVpZYMW3zV-OabZt0lw,1182
|
|
26
26
|
dekshell/core/markers/invoke.py,sha256=To_U_FscoCbf7osvjC5MQTk2gjH5Mu_-06Kb22YQPTo,1441
|
|
27
27
|
dekshell/core/markers/pip_.py,sha256=mxXa_oqcrk4Qz-HvhlkMoirsl-SbM9Fz610leNqP1o0,832
|
|
28
|
-
dekshell/core/markers/redirect.py,sha256=
|
|
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.23.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|