ka-uts-com 1.0.0.240823__py3-none-any.whl → 1.0.1.250131__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.
Files changed (61) hide show
  1. build/lib/dist/ka_uts_com-1.0.1.250131-py3-none-any.whl +0 -0
  2. build/lib/dist/ka_uts_com-1.0.1.250131.tar.gz +0 -0
  3. build/lib/ka_uts_com/__version__.py +1 -1
  4. build/lib/ka_uts_com/base/app_.py +51 -0
  5. build/lib/ka_uts_com/base/cfg_.py +27 -0
  6. build/lib/ka_uts_com/base/exit_.py +37 -0
  7. build/lib/ka_uts_com/base/log_.py +115 -0
  8. build/lib/ka_uts_com/com.py +42 -192
  9. build/lib/ka_uts_com/data/{log.standard.yml → log.std.yml} +3 -3
  10. build/lib/ka_uts_com/data/{log.personal.yml → log.usr.yml} +34 -42
  11. build/lib/ka_uts_com/decorators/dec.py +13 -0
  12. build/lib/ka_uts_com/fnc.py +29 -24
  13. build/lib/ka_uts_com/ioc/jinja2_.py +42 -0
  14. build/lib/ka_uts_com/ioc/yaml_.py +30 -0
  15. build/lib/ka_uts_com/log.py +32 -20
  16. build/lib/ka_uts_com/timer.py +17 -24
  17. build/lib/ka_uts_com/utils/aoeqstmt.py +39 -0
  18. build/lib/ka_uts_com/{date.py → utils/date.py} +4 -4
  19. build/lib/ka_uts_com/utils/doeq.py +99 -0
  20. {ka_uts_com → build/lib/ka_uts_com/utils}/pacmod.py +30 -34
  21. build/lib/ka_uts_com/utils/py.typed +0 -0
  22. build/lib/ka_uts_com/{str.py → utils/str.py} +36 -39
  23. dist/ka_uts_com-1.0.1.250131-py3-none-any.whl +0 -0
  24. dist/ka_uts_com-1.0.1.250131.tar.gz +0 -0
  25. ka_uts_com/__version__.py +1 -1
  26. ka_uts_com/base/app_.py +51 -0
  27. ka_uts_com/base/cfg_.py +27 -0
  28. ka_uts_com/base/exit_.py +37 -0
  29. ka_uts_com/base/log_.py +115 -0
  30. ka_uts_com/com.py +42 -192
  31. ka_uts_com/data/{log.standard.yml → log.std.yml} +3 -3
  32. ka_uts_com/data/{log.personal.yml → log.usr.yml} +34 -42
  33. ka_uts_com/decorators/dec.py +13 -0
  34. ka_uts_com/fnc.py +29 -24
  35. ka_uts_com/ioc/jinja2_.py +42 -0
  36. ka_uts_com/ioc/yaml_.py +30 -0
  37. ka_uts_com/log.py +32 -20
  38. ka_uts_com/timer.py +17 -24
  39. ka_uts_com/utils/aoeqstmt.py +39 -0
  40. ka_uts_com/{date.py → utils/date.py} +4 -4
  41. ka_uts_com/utils/doeq.py +99 -0
  42. {build/lib/ka_uts_com → ka_uts_com/utils}/pacmod.py +30 -34
  43. ka_uts_com/utils/py.typed +0 -0
  44. ka_uts_com/{str.py → utils/str.py} +36 -39
  45. ka_uts_com-1.0.1.250131.dist-info/METADATA +1628 -0
  46. ka_uts_com-1.0.1.250131.dist-info/RECORD +55 -0
  47. {ka_uts_com-1.0.0.240823.dist-info → ka_uts_com-1.0.1.250131.dist-info}/WHEEL +1 -1
  48. build/lib/dist/ka_uts_com-1.0.0.240823-py3-none-any.whl +0 -0
  49. build/lib/dist/ka_uts_com-1.0.0.240823.tar.gz +0 -0
  50. build/lib/ka_uts_com/aeq.py +0 -87
  51. build/lib/ka_uts_com/argv.py +0 -49
  52. build/lib/ka_uts_com/ioc.py +0 -57
  53. dist/ka_uts_com-1.0.0.240823-py3-none-any.whl +0 -0
  54. dist/ka_uts_com-1.0.0.240823.tar.gz +0 -0
  55. ka_uts_com/aeq.py +0 -87
  56. ka_uts_com/argv.py +0 -49
  57. ka_uts_com/ioc.py +0 -57
  58. ka_uts_com-1.0.0.240823.dist-info/METADATA +0 -943
  59. ka_uts_com-1.0.0.240823.dist-info/RECORD +0 -41
  60. {ka_uts_com-1.0.0.240823.dist-info → ka_uts_com-1.0.1.250131.dist-info/licenses}/LICENSE.txt +0 -0
  61. {ka_uts_com-1.0.0.240823.dist-info → ka_uts_com-1.0.1.250131.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,55 @@
1
+ build/lib/dist/ka_uts_com-1.0.1.250131-py3-none-any.whl,sha256=HbU_VxsHnutBElXqhutWdTuTXQPhuvTk7XoVBqdsafQ,169550
2
+ build/lib/dist/ka_uts_com-1.0.1.250131.tar.gz,sha256=eMn-3MXTSIyG1NdZGgKFR-oYYIwrLKGlc1O_5Q4y1DE,327036
3
+ build/lib/ka_uts_com/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
+ build/lib/ka_uts_com/__version__.py,sha256=csJCYYhUSlZBa4BsYrpw7cA3KBP3ZvqWkTNBoNEg_0w,365
5
+ build/lib/ka_uts_com/com.py,sha256=NWlaqnilS8R0hiX1KH7gZGMwwvqHxPaxKLz131ogVqY,1714
6
+ build/lib/ka_uts_com/fnc.py,sha256=QmCWbmkB8Q8kAxubsqbWOonOBIaL07Y3Y7oXvEqg8Q4,1030
7
+ build/lib/ka_uts_com/log.py,sha256=cThIY1yCaGkCDNInl80N80XH2-J3D0XlNBTMA0FlCFE,2191
8
+ build/lib/ka_uts_com/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
+ build/lib/ka_uts_com/timer.py,sha256=v3p8wxROIEZqpIwg4gr-nPVCTGioCrQOBuP1uBpRBYI,1816
10
+ build/lib/ka_uts_com/base/app_.py,sha256=miRGNATjXW-yq1jugCv6CjBsALNAga9kekn3r68sf0o,1215
11
+ build/lib/ka_uts_com/base/cfg_.py,sha256=wF8t2sfYwzyJ1Nbn7ZfzdXD5Uj1X_IVFoMRvl5xNZSQ,531
12
+ build/lib/ka_uts_com/base/exit_.py,sha256=2HXS-5BN5Q5EZx7S2Nar5voHHJZ3GlYfv--wnC3rT-A,792
13
+ build/lib/ka_uts_com/base/log_.py,sha256=taty8yzkPg0e5wB-h-RbQ9qTa5m5V81O_sPrQHRY1tE,3418
14
+ build/lib/ka_uts_com/data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
15
+ build/lib/ka_uts_com/data/log.std.yml,sha256=C3A9pWLjzTMiyhdjBcvQc7_IyY6DlQUA1lVYgLmQPRo,2317
16
+ build/lib/ka_uts_com/data/log.usr.yml,sha256=OfMzIBgzS5UiOfpoPMzuxwcsAXE1rOvRzjINH4GiJfg,2358
17
+ build/lib/ka_uts_com/decorators/dec.py,sha256=NHerkpjOYpJXz2CIh9HlN3_YCyLv-SbyQL4ldyGUSpM,217
18
+ build/lib/ka_uts_com/ioc/jinja2_.py,sha256=Q9_suhZERjYrZY_lDd2kYq63N_fItgj18vMTdp7c55Q,1112
19
+ build/lib/ka_uts_com/ioc/yaml_.py,sha256=2JEsnhEuKZJVGMq0bwOIlVOcfd1yBmvA47QRdCy8HjI,801
20
+ build/lib/ka_uts_com/utils/aoeqstmt.py,sha256=Z8zmwkYoE2D2cEHbMCbdxTAp16ATKQjufYet7RfLWB4,1044
21
+ build/lib/ka_uts_com/utils/date.py,sha256=5K_wxf5uVEDc7oNR7KKAwVK-iFfSq2jgovZeRE8Yw-s,305
22
+ build/lib/ka_uts_com/utils/doeq.py,sha256=0957rhRDG8nrOyYjsMvvfvIXkM3UjZJ_SoL6CycC-SE,3197
23
+ build/lib/ka_uts_com/utils/pacmod.py,sha256=HCjwSEICkITQUUyACBZFy9Ou8jlt8LvqetAzv912ua8,3156
24
+ build/lib/ka_uts_com/utils/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
25
+ build/lib/ka_uts_com/utils/str.py,sha256=cRixfOSTJqypiANn1wM0uQlmIbLsfNM4hatiPCQ_HIM,7145
26
+ dist/ka_uts_com-1.0.1.250131-py3-none-any.whl,sha256=HbU_VxsHnutBElXqhutWdTuTXQPhuvTk7XoVBqdsafQ,169550
27
+ dist/ka_uts_com-1.0.1.250131.tar.gz,sha256=eMn-3MXTSIyG1NdZGgKFR-oYYIwrLKGlc1O_5Q4y1DE,327036
28
+ ka_uts_com/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
29
+ ka_uts_com/__version__.py,sha256=csJCYYhUSlZBa4BsYrpw7cA3KBP3ZvqWkTNBoNEg_0w,365
30
+ ka_uts_com/com.py,sha256=NWlaqnilS8R0hiX1KH7gZGMwwvqHxPaxKLz131ogVqY,1714
31
+ ka_uts_com/fnc.py,sha256=QmCWbmkB8Q8kAxubsqbWOonOBIaL07Y3Y7oXvEqg8Q4,1030
32
+ ka_uts_com/log.py,sha256=cThIY1yCaGkCDNInl80N80XH2-J3D0XlNBTMA0FlCFE,2191
33
+ ka_uts_com/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
34
+ ka_uts_com/timer.py,sha256=v3p8wxROIEZqpIwg4gr-nPVCTGioCrQOBuP1uBpRBYI,1816
35
+ ka_uts_com/base/app_.py,sha256=miRGNATjXW-yq1jugCv6CjBsALNAga9kekn3r68sf0o,1215
36
+ ka_uts_com/base/cfg_.py,sha256=wF8t2sfYwzyJ1Nbn7ZfzdXD5Uj1X_IVFoMRvl5xNZSQ,531
37
+ ka_uts_com/base/exit_.py,sha256=2HXS-5BN5Q5EZx7S2Nar5voHHJZ3GlYfv--wnC3rT-A,792
38
+ ka_uts_com/base/log_.py,sha256=taty8yzkPg0e5wB-h-RbQ9qTa5m5V81O_sPrQHRY1tE,3418
39
+ ka_uts_com/data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
40
+ ka_uts_com/data/log.std.yml,sha256=C3A9pWLjzTMiyhdjBcvQc7_IyY6DlQUA1lVYgLmQPRo,2317
41
+ ka_uts_com/data/log.usr.yml,sha256=OfMzIBgzS5UiOfpoPMzuxwcsAXE1rOvRzjINH4GiJfg,2358
42
+ ka_uts_com/decorators/dec.py,sha256=NHerkpjOYpJXz2CIh9HlN3_YCyLv-SbyQL4ldyGUSpM,217
43
+ ka_uts_com/ioc/jinja2_.py,sha256=Q9_suhZERjYrZY_lDd2kYq63N_fItgj18vMTdp7c55Q,1112
44
+ ka_uts_com/ioc/yaml_.py,sha256=2JEsnhEuKZJVGMq0bwOIlVOcfd1yBmvA47QRdCy8HjI,801
45
+ ka_uts_com/utils/aoeqstmt.py,sha256=Z8zmwkYoE2D2cEHbMCbdxTAp16ATKQjufYet7RfLWB4,1044
46
+ ka_uts_com/utils/date.py,sha256=5K_wxf5uVEDc7oNR7KKAwVK-iFfSq2jgovZeRE8Yw-s,305
47
+ ka_uts_com/utils/doeq.py,sha256=0957rhRDG8nrOyYjsMvvfvIXkM3UjZJ_SoL6CycC-SE,3197
48
+ ka_uts_com/utils/pacmod.py,sha256=HCjwSEICkITQUUyACBZFy9Ou8jlt8LvqetAzv912ua8,3156
49
+ ka_uts_com/utils/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
50
+ ka_uts_com/utils/str.py,sha256=cRixfOSTJqypiANn1wM0uQlmIbLsfNM4hatiPCQ_HIM,7145
51
+ ka_uts_com-1.0.1.250131.dist-info/licenses/LICENSE.txt,sha256=TnAjPFN1i37iKUA7KiLKV6zJlCkNaDfdmKTKU5AApQs,857
52
+ ka_uts_com-1.0.1.250131.dist-info/METADATA,sha256=g5FEQpoMWQIUBXeFuLH7prqXTm5q8IqnWPNqw_xWvi0,52811
53
+ ka_uts_com-1.0.1.250131.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
54
+ ka_uts_com-1.0.1.250131.dist-info/top_level.txt,sha256=CviWgXDn1mYmGlBxZ3G7sMNqv9KOOwYzbDpZsu5RYv4,27
55
+ ka_uts_com-1.0.1.250131.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.6.0)
2
+ Generator: setuptools (78.1.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,87 +0,0 @@
1
- # coding=utf-8
2
-
3
- # import orjson
4
- # import traceback
5
-
6
- from ka_uts_com.date import Date
7
- from ka_uts_com.str import Str
8
-
9
- from typing import Any, Dict, List
10
-
11
- TN_Date = None | Any
12
-
13
- T_Arr = List[Any]
14
- T_Dic = Dict[Any, Any]
15
-
16
- TN_Arr = None | T_Arr
17
- TN_Dic = None | T_Dic
18
- TN_Str = None | str
19
-
20
-
21
- class Aeq:
22
- """ Dictionary of Equates
23
- """
24
- @classmethod
25
- def sh_value(cls, key: str, value: Any, d_valid_parms: TN_Dic) -> Any:
26
-
27
- # print(f"key = {key}, type(key) = {type(key)}")
28
- # print(f"value = {value}, type(value) = {type(value)}")
29
- if not d_valid_parms:
30
- return value
31
- _type: TN_Str = d_valid_parms.get(key)
32
- # print(f"_type = {_type}")
33
- if not _type:
34
- return value
35
- if isinstance(_type, str):
36
- match _type:
37
- case 'int':
38
- value = int(value)
39
- case 'bool':
40
- value = Str.sh_boolean(value)
41
- case 'dict':
42
- value = Str.sh_dic(value)
43
- case 'list':
44
- value = Str.sh_arr(value)
45
- case '%Y-%m-%d':
46
- value = Date.sh(value, _type)
47
- case '_':
48
- match _type[0]:
49
- case '[', '{':
50
- _obj = Str.sh_dic(_type)
51
- if value not in _obj:
52
- msg = (f"parameter={key} value={value} is invalid; "
53
- f"valid values are={_obj}")
54
- raise Exception(msg)
55
-
56
- # print(f"value = {value}, type(value) = {type(value)}")
57
- return value
58
-
59
- @classmethod
60
- def sh_d_eq(cls, a_s_eq: T_Arr, d_valid_parms: TN_Dic) -> T_Dic:
61
-
62
- d_eq = {}
63
- _d_valid_parms = d_valid_parms
64
- for s_eq in a_s_eq[1:]:
65
- a_eq = s_eq.split('=')
66
- if len(a_eq) == 1:
67
- key = 'cmd'
68
- value = a_eq[0]
69
- if _d_valid_parms is not None:
70
- if value in _d_valid_parms:
71
- _d_valid_parms = _d_valid_parms[value]
72
- else:
73
- _valid_commands = list(_d_valid_parms.keys())
74
- msg = (f"Wrong command: {value}; "
75
- f"valid commands are: {_valid_commands}")
76
- else:
77
- key = a_eq[0]
78
- value = a_eq[1]
79
-
80
- if _d_valid_parms is not None:
81
- if key not in _d_valid_parms:
82
- msg = (f"Wrong parameter: {key}; "
83
- f"valid parameters are: {_d_valid_parms}")
84
- raise Exception(msg)
85
- value = cls.sh_value(key, value, _d_valid_parms)
86
- d_eq[key] = value
87
- return d_eq
@@ -1,49 +0,0 @@
1
- # coding=utf-8
2
-
3
- from ka_uts_com.pacmod import Pacmod
4
- from ka_uts_com.aeq import Aeq
5
-
6
- from typing import Any, Callable, Dict, List
7
-
8
- T_Arr = List[Any]
9
- T_Dic = Dict[Any, Any]
10
-
11
- TN_Arr = None | T_Arr
12
- TN_Dic = None | T_Dic
13
-
14
-
15
- class Argv:
16
- """ Manage Commandline Arguments
17
- """
18
- @staticmethod
19
- def set_by_pacmod(d_eq: T_Dic, root_cls) -> None:
20
- """ set current pacmod dictionary
21
- """
22
- tenant = d_eq.get('tenant')
23
- d_eq['pacmod_curr'] = Pacmod.sh_d_pacmod(root_cls, tenant)
24
-
25
- @staticmethod
26
- def set_by_prof(d_eq: T_Dic, sh_prof: Callable | Any) -> None:
27
- """ set current pacmod dictionary
28
- """
29
- if callable(sh_prof):
30
- d_eq['sh_prof'] = sh_prof()
31
- else:
32
- d_eq['sh_prof'] = sh_prof
33
-
34
- @classmethod
35
- def sh(cls, a_s_eq: T_Arr, **kwargs) -> T_Dic:
36
- """ show equates dictionary
37
- """
38
- # print(f"DoEq sh kwargs = {kwargs}")
39
- root_cls = kwargs.get('root_cls')
40
- d_valid_parms: TN_Dic = kwargs.get('d_parms')
41
- # print(f"DoEq sh d_valid_parms = {d_valid_parms}")
42
-
43
- d_eq = Aeq.sh_d_eq(a_s_eq, d_valid_parms)
44
-
45
- cls.set_by_pacmod(d_eq, root_cls)
46
- _sh_prof = kwargs.get('sh_prof')
47
- cls.set_by_prof(d_eq, _sh_prof)
48
-
49
- return d_eq
@@ -1,57 +0,0 @@
1
- # coding=utf-8
2
-
3
- import jinja2
4
- import os
5
- import yaml
6
-
7
- from typing import Any, Dict
8
-
9
- T_Dic = Dict[Any, Any]
10
-
11
- TN_Any = None | Any
12
-
13
-
14
- class Yaml:
15
-
16
- """ Manage Object to Yaml file affilitation
17
- """
18
- @staticmethod
19
- def load_with_safeloader(string: str) -> None | Any:
20
- _obj = yaml.load(string, Loader=yaml.SafeLoader)
21
- return _obj
22
-
23
- @staticmethod
24
- def read(path: str) -> TN_Any:
25
- with open(path) as fd:
26
- # The Loader parameter handles the conversion from YAML
27
- # scalar values to Python object format
28
- _obj = yaml.load(fd, Loader=yaml.SafeLoader)
29
- return _obj
30
- return None
31
-
32
-
33
- class Jinja2:
34
- """ Manage Object to Json file affilitation
35
- """
36
- @staticmethod
37
- def read_template(
38
- path: str) -> Any:
39
- dir, file = os.path.split(path)
40
- env = jinja2.Environment(loader=jinja2.FileSystemLoader(dir))
41
- return env.get_template(file)
42
-
43
- @classmethod
44
- def read(
45
- cls, path: str, **kwargs):
46
- try:
47
- # read jinja template from file
48
- template = cls.read_template(path)
49
-
50
- # render template as yaml string
51
- template_rendered = template.render(**kwargs)
52
-
53
- # parse yaml string as dictionary
54
- dic = Yaml.load_with_safeloader(template_rendered)
55
- return dic
56
- except Exception:
57
- raise
Binary file
ka_uts_com/aeq.py DELETED
@@ -1,87 +0,0 @@
1
- # coding=utf-8
2
-
3
- # import orjson
4
- # import traceback
5
-
6
- from ka_uts_com.date import Date
7
- from ka_uts_com.str import Str
8
-
9
- from typing import Any, Dict, List
10
-
11
- TN_Date = None | Any
12
-
13
- T_Arr = List[Any]
14
- T_Dic = Dict[Any, Any]
15
-
16
- TN_Arr = None | T_Arr
17
- TN_Dic = None | T_Dic
18
- TN_Str = None | str
19
-
20
-
21
- class Aeq:
22
- """ Dictionary of Equates
23
- """
24
- @classmethod
25
- def sh_value(cls, key: str, value: Any, d_valid_parms: TN_Dic) -> Any:
26
-
27
- # print(f"key = {key}, type(key) = {type(key)}")
28
- # print(f"value = {value}, type(value) = {type(value)}")
29
- if not d_valid_parms:
30
- return value
31
- _type: TN_Str = d_valid_parms.get(key)
32
- # print(f"_type = {_type}")
33
- if not _type:
34
- return value
35
- if isinstance(_type, str):
36
- match _type:
37
- case 'int':
38
- value = int(value)
39
- case 'bool':
40
- value = Str.sh_boolean(value)
41
- case 'dict':
42
- value = Str.sh_dic(value)
43
- case 'list':
44
- value = Str.sh_arr(value)
45
- case '%Y-%m-%d':
46
- value = Date.sh(value, _type)
47
- case '_':
48
- match _type[0]:
49
- case '[', '{':
50
- _obj = Str.sh_dic(_type)
51
- if value not in _obj:
52
- msg = (f"parameter={key} value={value} is invalid; "
53
- f"valid values are={_obj}")
54
- raise Exception(msg)
55
-
56
- # print(f"value = {value}, type(value) = {type(value)}")
57
- return value
58
-
59
- @classmethod
60
- def sh_d_eq(cls, a_s_eq: T_Arr, d_valid_parms: TN_Dic) -> T_Dic:
61
-
62
- d_eq = {}
63
- _d_valid_parms = d_valid_parms
64
- for s_eq in a_s_eq[1:]:
65
- a_eq = s_eq.split('=')
66
- if len(a_eq) == 1:
67
- key = 'cmd'
68
- value = a_eq[0]
69
- if _d_valid_parms is not None:
70
- if value in _d_valid_parms:
71
- _d_valid_parms = _d_valid_parms[value]
72
- else:
73
- _valid_commands = list(_d_valid_parms.keys())
74
- msg = (f"Wrong command: {value}; "
75
- f"valid commands are: {_valid_commands}")
76
- else:
77
- key = a_eq[0]
78
- value = a_eq[1]
79
-
80
- if _d_valid_parms is not None:
81
- if key not in _d_valid_parms:
82
- msg = (f"Wrong parameter: {key}; "
83
- f"valid parameters are: {_d_valid_parms}")
84
- raise Exception(msg)
85
- value = cls.sh_value(key, value, _d_valid_parms)
86
- d_eq[key] = value
87
- return d_eq
ka_uts_com/argv.py DELETED
@@ -1,49 +0,0 @@
1
- # coding=utf-8
2
-
3
- from ka_uts_com.pacmod import Pacmod
4
- from ka_uts_com.aeq import Aeq
5
-
6
- from typing import Any, Callable, Dict, List
7
-
8
- T_Arr = List[Any]
9
- T_Dic = Dict[Any, Any]
10
-
11
- TN_Arr = None | T_Arr
12
- TN_Dic = None | T_Dic
13
-
14
-
15
- class Argv:
16
- """ Manage Commandline Arguments
17
- """
18
- @staticmethod
19
- def set_by_pacmod(d_eq: T_Dic, root_cls) -> None:
20
- """ set current pacmod dictionary
21
- """
22
- tenant = d_eq.get('tenant')
23
- d_eq['pacmod_curr'] = Pacmod.sh_d_pacmod(root_cls, tenant)
24
-
25
- @staticmethod
26
- def set_by_prof(d_eq: T_Dic, sh_prof: Callable | Any) -> None:
27
- """ set current pacmod dictionary
28
- """
29
- if callable(sh_prof):
30
- d_eq['sh_prof'] = sh_prof()
31
- else:
32
- d_eq['sh_prof'] = sh_prof
33
-
34
- @classmethod
35
- def sh(cls, a_s_eq: T_Arr, **kwargs) -> T_Dic:
36
- """ show equates dictionary
37
- """
38
- # print(f"DoEq sh kwargs = {kwargs}")
39
- root_cls = kwargs.get('root_cls')
40
- d_valid_parms: TN_Dic = kwargs.get('d_parms')
41
- # print(f"DoEq sh d_valid_parms = {d_valid_parms}")
42
-
43
- d_eq = Aeq.sh_d_eq(a_s_eq, d_valid_parms)
44
-
45
- cls.set_by_pacmod(d_eq, root_cls)
46
- _sh_prof = kwargs.get('sh_prof')
47
- cls.set_by_prof(d_eq, _sh_prof)
48
-
49
- return d_eq
ka_uts_com/ioc.py DELETED
@@ -1,57 +0,0 @@
1
- # coding=utf-8
2
-
3
- import jinja2
4
- import os
5
- import yaml
6
-
7
- from typing import Any, Dict
8
-
9
- T_Dic = Dict[Any, Any]
10
-
11
- TN_Any = None | Any
12
-
13
-
14
- class Yaml:
15
-
16
- """ Manage Object to Yaml file affilitation
17
- """
18
- @staticmethod
19
- def load_with_safeloader(string: str) -> None | Any:
20
- _obj = yaml.load(string, Loader=yaml.SafeLoader)
21
- return _obj
22
-
23
- @staticmethod
24
- def read(path: str) -> TN_Any:
25
- with open(path) as fd:
26
- # The Loader parameter handles the conversion from YAML
27
- # scalar values to Python object format
28
- _obj = yaml.load(fd, Loader=yaml.SafeLoader)
29
- return _obj
30
- return None
31
-
32
-
33
- class Jinja2:
34
- """ Manage Object to Json file affilitation
35
- """
36
- @staticmethod
37
- def read_template(
38
- path: str) -> Any:
39
- dir, file = os.path.split(path)
40
- env = jinja2.Environment(loader=jinja2.FileSystemLoader(dir))
41
- return env.get_template(file)
42
-
43
- @classmethod
44
- def read(
45
- cls, path: str, **kwargs):
46
- try:
47
- # read jinja template from file
48
- template = cls.read_template(path)
49
-
50
- # render template as yaml string
51
- template_rendered = template.render(**kwargs)
52
-
53
- # parse yaml string as dictionary
54
- dic = Yaml.load_with_safeloader(template_rendered)
55
- return dic
56
- except Exception:
57
- raise