dekshell 0.2.32__py3-none-any.whl → 0.2.34__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.
@@ -25,7 +25,7 @@ from dektools.fetch import download_file, download_content
25
25
  from dektools.download import download_from_http
26
26
  from dektools.ps.process import process_detail, process_kill, process_list_all
27
27
  from dektools.time import now
28
- from dektools.str import shlex_split, shlex_quote
28
+ from dektools.str import shlex_split, shlex_quote, str_split, split_table_line
29
29
  from dektools.format import format_duration
30
30
  from dektools.shell import shell_wrapper, is_user_admin, shell_timeout, shell_retry
31
31
  from dektools.match import GeneralMatcher, glob2re, glob_compile, glob_match
@@ -242,6 +242,10 @@ default_methods = {
242
242
  'getpass': getpass.getpass,
243
243
  'install': _install,
244
244
  'Path': Path,
245
+ 'split': {
246
+ 'str': lambda x, y=None: list(str_split(x, y)),
247
+ 'tab': split_table_line,
248
+ },
245
249
  'sh': {
246
250
  'admin': is_user_admin,
247
251
  'timeout': shell_timeout,
@@ -14,6 +14,7 @@ from dektools.file import read_text
14
14
  from dektools.env import is_on_cicd
15
15
  from ...utils.serializer import serializer
16
16
  from ..redirect import shell_name
17
+ from ..markers.base.core import get_inner_vars
17
18
 
18
19
  current_shell = shutil.which(shell_name, path=get_paths()['scripts'])
19
20
  current_os = extra_platforms_current_os()
@@ -50,6 +51,26 @@ class _Env:
50
51
  return item.upper() in os.environ
51
52
 
52
53
 
54
+ class _EnvS:
55
+ def __getattr__(self, item):
56
+ context = get_inner_vars('__inner_context__', full=True)
57
+ return context.get_env(item.upper(), '')
58
+
59
+ def __getitem__(self, item):
60
+ context = get_inner_vars('__inner_context__', full=True)
61
+ default = object()
62
+ ret = context.get_env(item.upper(), default)
63
+ if ret is default:
64
+ raise KeyError(item)
65
+ return ret
66
+
67
+ def __contains__(self, item):
68
+ context = get_inner_vars('__inner_context__', full=True)
69
+ default = object()
70
+ ret = context.get_env(item.upper(), default)
71
+ return ret is not default
72
+
73
+
53
74
  default_properties = {
54
75
  'meta': {
55
76
  'name': package_name,
@@ -82,5 +103,6 @@ default_properties = {
82
103
  'obj': serializer,
83
104
  'mp': ModuleProxy(),
84
105
  'date': DateTime(),
85
- 'envx': _Env(),
106
+ 'env': _Env(),
107
+ 'envs': _EnvS(),
86
108
  }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dekshell
3
- Version: 0.2.32
3
+ Version: 0.2.34
4
4
  Author-Email: sanzenwin <sanzenwin@gmail.com>
5
5
  License: MIT
6
6
  Requires-Python: >=3.8
@@ -1,13 +1,13 @@
1
- dekshell-0.2.32.dist-info/METADATA,sha256=nVwmB8VDNKSyNE8Zem7osQejqNO18nrgMFCtawuO0g4,573
2
- dekshell-0.2.32.dist-info/WHEEL,sha256=tSfRZzRHthuv7vxpI4aehrdN9scLjk-dCJkPLzkHxGg,90
3
- dekshell-0.2.32.dist-info/entry_points.txt,sha256=d-kbfULiUTZWIBBsrQF3J_-wESncF-4K2rwHT08grlI,75
1
+ dekshell-0.2.34.dist-info/METADATA,sha256=zWGgLEakc8grPiDUwQN0-88q2aJlG-EmPGLfNq648Q4,573
2
+ dekshell-0.2.34.dist-info/WHEEL,sha256=tSfRZzRHthuv7vxpI4aehrdN9scLjk-dCJkPLzkHxGg,90
3
+ dekshell-0.2.34.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
7
7
  dekshell/core/__init__.py,sha256=isDEKwk1odLdvTQNCILCtVNBuXp1uFVPz_uTDNihkVU,5547
8
8
  dekshell/core/contexts/__init__.py,sha256=ynsfv37azOKfI2UKd0iPl2M6iBW-k5cb1BqSLOWuJpI,482
9
- dekshell/core/contexts/methods.py,sha256=SukHnNNvxnRPySGB6xQNf2eXX-3FaaQBetBJFjN9Fso,10378
10
- dekshell/core/contexts/properties.py,sha256=xBUHC6eDmsoPHmOntxPdHNQpZ3iqd7wzkmyTKWm3ZYA,2422
9
+ dekshell/core/contexts/methods.py,sha256=lnlGFMv23R9J-W22lcwwBTgO5E8mbSNuu5fPT7HylLo,10518
10
+ dekshell/core/contexts/properties.py,sha256=wT_gvK89JDU3NDOwiQKz4e2ukrLG6yXUhBsOk8NMQpE,3123
11
11
  dekshell/core/markers/__init__.py,sha256=yRQazZ1dxMltFao_RQnDnawSnQcjN_4B930MjJhaZ40,1968
12
12
  dekshell/core/markers/base/__init__.py,sha256=W5f_Mcn9MLM8kOVqu05NUaDpn3xUNURe_NYerUoH6Js,16021
13
13
  dekshell/core/markers/base/core.py,sha256=InsUA3md2gC6GyXQsvARfeNTrfbVD3gGOYxTM8VqqPA,11679
@@ -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.32.dist-info/RECORD,,
40
+ dekshell-0.2.34.dist-info/RECORD,,