ka-uts-com 1.0.1.250131__py3-none-any.whl → 2.0.0.250407__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 (36) hide show
  1. build/lib/ka_uts_com/__version__.py +1 -1
  2. build/lib/ka_uts_com/base/app_.py +10 -11
  3. build/lib/ka_uts_com/base/cfg_.py +12 -4
  4. build/lib/ka_uts_com/base/log_.py +66 -50
  5. build/lib/ka_uts_com/com.py +60 -11
  6. build/lib/ka_uts_com/data/log.std.yml +47 -26
  7. build/lib/ka_uts_com/data/log.usr.yml +46 -25
  8. build/lib/ka_uts_com/log.py +23 -12
  9. build/lib/ka_uts_com/timer.py +10 -6
  10. build/lib/ka_uts_com/utils/aoeqstmt.py +0 -2
  11. build/lib/ka_uts_com/utils/doeq.py +7 -7
  12. build/lib/ka_uts_com/utils/pacmod.py +82 -66
  13. ka_uts_com/__version__.py +1 -1
  14. ka_uts_com/base/app_.py +10 -11
  15. ka_uts_com/base/cfg_.py +12 -4
  16. ka_uts_com/base/log_.py +66 -50
  17. ka_uts_com/com.py +60 -11
  18. ka_uts_com/data/log.std.yml +47 -26
  19. ka_uts_com/data/log.usr.yml +46 -25
  20. ka_uts_com/log.py +23 -12
  21. ka_uts_com/timer.py +10 -6
  22. ka_uts_com/utils/aoeqstmt.py +0 -2
  23. ka_uts_com/utils/doeq.py +7 -7
  24. ka_uts_com/utils/pacmod.py +82 -66
  25. {ka_uts_com-1.0.1.250131.dist-info → ka_uts_com-2.0.0.250407.dist-info}/METADATA +389 -406
  26. ka_uts_com-2.0.0.250407.dist-info/RECORD +49 -0
  27. {ka_uts_com-1.0.1.250131.dist-info → ka_uts_com-2.0.0.250407.dist-info}/licenses/LICENSE.txt +1 -2
  28. build/lib/dist/ka_uts_com-1.0.1.250131-py3-none-any.whl +0 -0
  29. build/lib/dist/ka_uts_com-1.0.1.250131.tar.gz +0 -0
  30. build/lib/ka_uts_com/utils/py.typed +0 -0
  31. dist/ka_uts_com-1.0.1.250131-py3-none-any.whl +0 -0
  32. dist/ka_uts_com-1.0.1.250131.tar.gz +0 -0
  33. ka_uts_com/utils/py.typed +0 -0
  34. ka_uts_com-1.0.1.250131.dist-info/RECORD +0 -55
  35. {ka_uts_com-1.0.1.250131.dist-info → ka_uts_com-2.0.0.250407.dist-info}/WHEEL +0 -0
  36. {ka_uts_com-1.0.1.250131.dist-info → ka_uts_com-2.0.0.250407.dist-info}/top_level.txt +0 -0
@@ -10,25 +10,27 @@ disable_existing_loggers: False
10
10
 
11
11
  loggers:
12
12
 
13
- # main logger
14
- main:
13
+ # standard logger
14
+ std:
15
15
  # level: NOTSET
16
16
  level: DEBUG
17
17
  handlers:
18
- - main_debug_console
19
- - main_debug_file
20
- - main_info_file
21
- - main_error_file
18
+ - std_debug_console
19
+ - std_error_file
20
+ - std_warning_file
21
+ - std_debug_file
22
+ - std_info_file
23
+ - std_log_file
22
24
 
23
25
  handlers:
24
26
 
25
- main_debug_console:
27
+ std_debug_console:
26
28
  class: 'logging.StreamHandler'
27
29
  level: DEBUG
28
- formatter: main_debug
30
+ formatter: std_debug
29
31
  stream: 'ext://sys.stderr'
30
32
 
31
- # main_info_rotating_file_handler:
33
+ # std_info_rotating_file_handler:
32
34
  # class: 'logging.handlers.RotatingFileHandler'
33
35
  # level: INFO
34
36
  # formatter: info
@@ -38,31 +40,45 @@ handlers:
38
40
  # backupCount: 10
39
41
  # encoding: utf8
40
42
 
41
- main_debug_file:
43
+ std_error_file:
44
+ class: 'logging.FileHandler'
45
+ level: ERROR
46
+ formatter: std_error
47
+ filename: '{{dir_run_errs}}/errs_{{pid}}_{{ts}}.log'
48
+ mode: 'a'
49
+
50
+ std_warning_file:
51
+ class: 'logging.FileHandler'
52
+ level: WARNING
53
+ formatter: std_warning
54
+ filename: '{{dir_run_wrns}}/wrns_{{pid}}_{{ts}}.log'
55
+ mode: 'a'
56
+
57
+ std_debug_file:
42
58
  class: 'logging.FileHandler'
43
59
  level: DEBUG
44
- formatter: main_error
45
- filename: '{{debug_dir}}/debs_{{pid}}_{{ts}}.log'
60
+ formatter: std_debug
61
+ filename: '{{dir_run_debs}}/debs_{{pid}}_{{ts}}.log'
46
62
  mode: 'a'
47
63
 
48
- main_info_file:
64
+ std_info_file:
49
65
  class: 'logging.FileHandler'
50
66
  level: INFO
51
- formatter: main_info
52
- filename: '{{info_dir}}/logs_{{pid}}_{{ts}}.log'
67
+ formatter: std_info
68
+ filename: '{{dir_run_infs}}/infs_{{pid}}_{{ts}}.log'
53
69
  mode: 'a'
54
70
 
55
- main_error_file:
71
+ std_log_file:
56
72
  class: 'logging.FileHandler'
57
- level: ERROR
58
- formatter: main_error
59
- filename: '{{error_dir}}/errs_{{pid}}_{{ts}}.log'
73
+ level: INFO
74
+ formatter: std_log
75
+ filename: '{{dir_run_logs}}/logs_{{pid}}_{{ts}}.log'
60
76
  mode: 'a'
61
77
 
62
- main_critical_mail:
78
+ std_critical_mail:
63
79
  class: 'logging.handlers.SMTPHandler'
64
80
  level: CRITICAL
65
- formatter: main_critical
81
+ formatter: std_critical
66
82
  mailhost : localhost
67
83
  fromaddr: 'monitoring@domain.com'
68
84
  toaddrs:
@@ -73,14 +89,19 @@ handlers:
73
89
 
74
90
  formatters:
75
91
 
76
- main_info:
77
- format: '%(asctime)s-%(levelname)s-%(name)s::%(module)s|%(lineno)s:: %(message)s'
78
- main_debug:
92
+ std_warning:
79
93
  format: '%(asctime)-15s %(levelname)s-%(name)s-%(process)d::%(module)s.%(funcName)s|%(lineno)s:: %(message)s'
80
94
  datefmt: '%Y-%m-%d %H:%M:%S'
81
- main_error:
95
+ std_error:
82
96
  format: '%(asctime)-15s %(levelname)s-%(name)s-%(process)d::%(module)s.%(funcName)s|%(lineno)s:: %(message)s'
83
97
  datefmt: '%Y-%m-%d %H:%M:%S'
84
- main_critical:
98
+ std_debug:
99
+ format: '%(asctime)-15s %(levelname)s-%(name)s-%(process)d::%(module)s.%(funcName)s|%(lineno)s:: %(message)s'
100
+ datefmt: '%Y-%m-%d %H:%M:%S'
101
+ std_info:
102
+ format: '%(asctime)s-%(levelname)s-%(name)s::%(module)s|%(lineno)s:: %(message)s'
103
+ std_log:
104
+ format: '%(asctime)s-%(levelname)s-%(name)s::%(module)s|%(lineno)s:: %(message)s'
105
+ std_critical:
85
106
  format: '%(asctime)-15s %(levelname)s-%(name)s-%(process)d::%(module)s.%(funcName)s|%(lineno)s:: %(message)s'
86
107
  datefmt: '%Y-%m-%d %H:%M:%S'
@@ -9,22 +9,24 @@ disable_existing_loggers: False
9
9
 
10
10
  loggers:
11
11
 
12
- # person logger
13
- person:
12
+ # user logger
13
+ usr:
14
14
  # level: NOTSET
15
15
  level: DEBUG
16
16
  handlers:
17
- - person_debug_console
18
- - person_debug_file
19
- - person_info_file
20
- - person_error_file
17
+ - usr_debug_console
18
+ - usr_error_file
19
+ - usr_warning_file
20
+ - usr_debug_file
21
+ - usr_info_file
22
+ - usr_log_file
21
23
 
22
24
  handlers:
23
25
 
24
- person_debug_console:
26
+ usr_debug_console:
25
27
  class: 'logging.StreamHandler'
26
28
  level: DEBUG
27
- formatter: person_debug
29
+ formatter: usr_debug
28
30
  stream: 'ext://sys.stderr'
29
31
 
30
32
  # person_info_rotating_file_handler:
@@ -37,31 +39,45 @@ handlers:
37
39
  # backupCount: 10
38
40
  # encoding: utf8
39
41
 
40
- person_debug_file:
42
+ usr_error_file:
43
+ class: 'logging.FileHandler'
44
+ level: ERROR
45
+ formatter: usr_error
46
+ filename: '{{dir_run_errs}}/errs_{{pid}}_{{ts}}.log'
47
+ mode: 'a'
48
+
49
+ usr_warning_file:
50
+ class: 'logging.FileHandler'
51
+ level: ERROR
52
+ formatter: usr_warning
53
+ filename: '{{dir_run_wrns}}/wrns_{{pid}}_{{ts}}.log'
54
+ mode: 'a'
55
+
56
+ usr_debug_file:
41
57
  class: 'logging.FileHandler'
42
58
  level: DEBUG
43
- formatter: person_error
44
- filename: '{{debug_dir}}/debs_{{pid}}_{{ts}}.log'
59
+ formatter: usr_debug
60
+ filename: '{{dir_run_debs}}/debs_{{pid}}_{{ts}}.log'
45
61
  mode: 'a'
46
62
 
47
- person_info_file:
63
+ usr_info_file:
48
64
  class: 'logging.FileHandler'
49
65
  level: INFO
50
- formatter: person_info
51
- filename: '{{info_dir}}/logs_{{pid}}_{{ts}}.log'
66
+ formatter: usr_info
67
+ filename: '{{dir_run_infs}}/infs_{{pid}}_{{ts}}.log'
52
68
  mode: 'a'
53
69
 
54
- person_error_file:
70
+ usr_log_file:
55
71
  class: 'logging.FileHandler'
56
- level: ERROR
57
- formatter: person_error
58
- filename: '{{error_dir}}/errs_{{pid}}_{{ts}}.log'
72
+ level: INFO
73
+ formatter: usr_log
74
+ filename: '{{dir_run_logs}}/logs_{{pid}}_{{ts}}.log'
59
75
  mode: 'a'
60
76
 
61
- person_critical_mail:
77
+ usr_critical_mail:
62
78
  class: 'logging.handlers.SMTPHandler'
63
79
  level: CRITICAL
64
- formatter: person_critical
80
+ formatter: usr_critical
65
81
  mailhost : localhost
66
82
  fromaddr: 'monitoring@domain.com'
67
83
  toaddrs:
@@ -72,14 +88,19 @@ handlers:
72
88
 
73
89
  formatters:
74
90
 
75
- person_info:
76
- format: '%(asctime)s-%(levelname)s-%(name)s::%(module)s|%(lineno)s:: %(message)s'
77
- person_debug:
91
+ usr_errs:
78
92
  format: '%(asctime)-15s %(levelname)s-%(name)s-%(process)d::%(module)s.%(funcName)s|%(lineno)s:: %(message)s'
79
93
  datefmt: '%Y-%m-%d %H:%M:%S'
80
- person_error:
94
+ usr_wrns:
81
95
  format: '%(asctime)-15s %(levelname)s-%(name)s-%(process)d::%(module)s.%(funcName)s|%(lineno)s:: %(message)s'
82
96
  datefmt: '%Y-%m-%d %H:%M:%S'
83
- person_critical:
97
+ usr_debs:
98
+ format: '%(asctime)-15s %(levelname)s-%(name)s-%(process)d::%(module)s.%(funcName)s|%(lineno)s:: %(message)s'
99
+ datefmt: '%Y-%m-%d %H:%M:%S'
100
+ usr_infs:
101
+ format: '%(asctime)s-%(levelname)s-%(name)s::%(module)s|%(lineno)s:: %(message)s'
102
+ usr_logs:
103
+ format: '%(asctime)s-%(levelname)s-%(name)s::%(module)s|%(lineno)s:: %(message)s'
104
+ usr_critical:
84
105
  format: '%(asctime)-15s %(levelname)s-%(name)s-%(process)d::%(module)s.%(funcName)s|%(lineno)s:: %(message)s'
85
106
  datefmt: '%Y-%m-%d %H:%M:%S'
ka_uts_com/log.py CHANGED
@@ -8,21 +8,25 @@ class Log:
8
8
  """
9
9
  class Eq:
10
10
 
11
- @classmethod
12
- def debug(cls, key: Any, value: Any) -> None:
13
- Log.debug(f"{key} = {value}", stacklevel=3)
14
-
15
11
  @classmethod
16
12
  def error(cls, key: Any, value: Any) -> None:
17
13
  Log.error(f"{key} = {value}", stacklevel=3)
18
14
 
15
+ @classmethod
16
+ def warning(cls, key: Any, value: Any) -> None:
17
+ Log.warning(f"{key} = {value}", stacklevel=3)
18
+
19
19
  @classmethod
20
20
  def info(cls, key: Any, value: Any) -> None:
21
21
  Log.info(f"{key} = {value}", stacklevel=3)
22
22
 
23
23
  @classmethod
24
- def warning(cls, key: Any, value: Any) -> None:
25
- Log.warning(f"{key} = {value}", stacklevel=3)
24
+ def log(cls, key: Any, value: Any) -> None:
25
+ Log.log(f"{key} = {value}", stacklevel=3)
26
+
27
+ @classmethod
28
+ def debug(cls, key: Any, value: Any) -> None:
29
+ Log.debug(f"{key} = {value}", stacklevel=3)
26
30
 
27
31
  class Dic:
28
32
 
@@ -47,18 +51,18 @@ class Log:
47
51
  Log.warning(f"{key} = {value}", stacklevel=3)
48
52
 
49
53
  @staticmethod
50
- def debug(*args, **kwargs) -> None:
54
+ def error(*args, **kwargs) -> None:
51
55
  if kwargs is None:
52
56
  kwargs = {}
53
57
  kwargs['stacklevel'] = kwargs.get('stacklevel', 2)
54
- Com.Log.debug(*args, **kwargs)
58
+ Com.Log.error(*args, **kwargs)
55
59
 
56
60
  @staticmethod
57
- def error(*args, **kwargs) -> None:
61
+ def warning(*args, **kwargs) -> None:
58
62
  if kwargs is None:
59
63
  kwargs = {}
60
64
  kwargs['stacklevel'] = kwargs.get('stacklevel', 2)
61
- Com.Log.error(*args, **kwargs)
65
+ Com.Log.warning(*args, **kwargs)
62
66
 
63
67
  @staticmethod
64
68
  def info(*args, **kwargs) -> None:
@@ -68,8 +72,15 @@ class Log:
68
72
  Com.Log.info(*args, **kwargs)
69
73
 
70
74
  @staticmethod
71
- def warning(*args, **kwargs) -> None:
75
+ def log(*args, **kwargs) -> None:
72
76
  if kwargs is None:
73
77
  kwargs = {}
74
78
  kwargs['stacklevel'] = kwargs.get('stacklevel', 2)
75
- Com.Log.warning(*args, **kwargs)
79
+ Com.Log.log(*args, **kwargs)
80
+
81
+ @staticmethod
82
+ def debug(*args, **kwargs) -> None:
83
+ if kwargs is None:
84
+ kwargs = {}
85
+ kwargs['stacklevel'] = kwargs.get('stacklevel', 2)
86
+ Com.Log.debug(*args, **kwargs)
ka_uts_com/timer.py CHANGED
@@ -26,8 +26,12 @@ class Timer:
26
26
  """ Timer Management
27
27
  """
28
28
  @staticmethod
29
- def sh_task_id(d_pacmod: TyDic, class_id: Any, parms: TnAny, sep: TyStr) -> TyStr:
30
- """ start Timer
29
+ def sh_task_id(d_pacmod: TyDic, class_id: TyAny, parms: TnAny, sep: TyStr) -> TyStr:
30
+ """
31
+ Show task id, which is created by the concationation of the following items:
32
+ package, module, class_name and parms if they are defined; the items package
33
+ and module are get from the package-module directory; the item class_name is
34
+ the class_id if its a string, otherwise the attribute __qualname__ is used.
31
35
  """
32
36
  package = d_pacmod.get('package')
33
37
  module = d_pacmod.get('module')
@@ -48,16 +52,16 @@ class Timer:
48
52
 
49
53
  @classmethod
50
54
  def start(cls, class_id: TyAny, parms: TnAny = None, sep: TyStr = ".") -> None:
51
- """ start Timer
55
+ """ Start Timer
52
56
  """
53
- task_id = cls.sh_task_id(Com.d_pacmod, class_id, parms, sep)
57
+ task_id = cls.sh_task_id(Com.d_app_pacmod, class_id, parms, sep)
54
58
  Com.d_timer[task_id] = datetime.now()
55
59
 
56
60
  @classmethod
57
61
  def end(cls, class_id: TyAny, parms: TnAny = None, sep: TyStr = ".") -> None:
58
- """ end Timer
62
+ """ End Timer
59
63
  """
60
- task_id = cls.sh_task_id(Com.d_pacmod, class_id, parms, sep)
64
+ task_id = cls.sh_task_id(Com.d_app_pacmod, class_id, parms, sep)
61
65
  start = Com.d_timer.get(task_id)
62
66
  end = datetime.now()
63
67
  elapse_time_sec = Timestamp.sh_elapse_time_sec(end, start)
@@ -29,11 +29,9 @@ class AoEqStmt:
29
29
  def sh_d_eq(cls, a_eqstmt: TyArr, **kwargs) -> TyDic:
30
30
  """ show equates dictionary
31
31
  """
32
- root_cls = kwargs.get('root_cls')
33
32
  d_parms: TnDic = kwargs.get('d_parms')
34
33
  _sh_prof = kwargs.get('sh_prof')
35
34
  d_eq: TyDic = cls.init_d_eq(a_eqstmt)
36
35
  d_eq_new: TyDic = DoEq.verify(d_eq, d_parms)
37
- DoEq._set_d_pacmod(d_eq_new, root_cls)
38
36
  DoEq._set_sh_prof(d_eq_new, _sh_prof)
39
37
  return d_eq_new
ka_uts_com/utils/doeq.py CHANGED
@@ -2,7 +2,7 @@
2
2
  from collections.abc import Callable
3
3
  from typing import Any
4
4
 
5
- from ka_uts_com.utils.pacmod import PacMod
5
+ # from ka_uts_com.utils.pacmod import PacMod
6
6
  from ka_uts_com.utils.str import Str
7
7
  from ka_uts_com.utils.date import Date
8
8
 
@@ -55,12 +55,12 @@ class DoEq:
55
55
  # print(f"value = {value}, type(value) = {type(value)}")
56
56
  return value
57
57
 
58
- @staticmethod
59
- def _set_d_pacmod(d_eq: TyDic, root_cls) -> None:
60
- """ set current pacmod dictionary
61
- """
62
- tenant = d_eq.get('tenant')
63
- d_eq['d_pacmod'] = PacMod.sh_d_pacmod(root_cls, tenant)
58
+ # @staticmethod
59
+ # def _set_d_pacmod(d_eq: TyDic, root_cls) -> None:
60
+ # """ set current pacmod dictionary
61
+ # """
62
+ # tenant = d_eq.get('tenant')
63
+ # d_eq['d_pacmod'] = PacMod.sh_d_pacmod(root_cls, tenant)
64
64
 
65
65
  @staticmethod
66
66
  def _set_sh_prof(d_eq: TyDic, sh_prof: TyCall | Any) -> None:
@@ -2,106 +2,122 @@
2
2
  from typing import Any
3
3
 
4
4
  from os import path as os_path
5
- import pkg_resources
5
+ # import pkg_resources
6
+ import importlib.resources as resources
6
7
 
7
8
  TyArr = list[Any]
8
9
  TyDic = dict[Any, Any]
10
+ TyPath = str
11
+
9
12
  TnDic = None | TyDic
13
+ TnPath = None | TyPath
10
14
 
11
15
 
12
16
  class PacMod:
13
17
  """ Package Module Management
14
18
  """
15
19
  @staticmethod
16
- def sh_d_pacmod(root_cls, tenant: Any) -> TyDic:
20
+ def sh_d_pacmod(cls) -> TyDic:
17
21
  """ Show Pacmod Dictionary
18
22
  """
19
- a_pacmod: TyArr = root_cls.__module__.split(".")
20
- package = a_pacmod[0]
21
- module = a_pacmod[1]
22
- d_pacmod: TyDic = {}
23
- d_pacmod['tenant'] = tenant
24
- d_pacmod['package'] = package
25
- d_pacmod['module'] = module
26
- return d_pacmod
23
+ a_pacmod: TyArr = cls.__module__.split(".")
24
+ return {'package': a_pacmod[0], 'module': a_pacmod[1]}
27
25
 
28
- # class Cfg:
29
- # """ Configuration Sub Class of Package Module Class
30
- # """
31
26
  @staticmethod
32
- def sh_path_cfg_yaml(d_pacmod: TyDic) -> str:
27
+ def sh_path_module_yaml(d_pacmod: TyDic) -> str:
33
28
  """ show directory
34
29
  """
30
+ # def sh_path_cfg_yaml(d_pacmod: TyDic) -> str:
35
31
  package = d_pacmod['package']
36
32
  module = d_pacmod['module']
37
-
38
- directory: str = f"{package}.data"
39
-
40
- # print(f"dir = {dir}")
41
- # print(f"package = {package}")
42
- # print(f"module = {module}")
43
-
44
- path: str = pkg_resources.resource_filename(directory, f"{module}.yml")
33
+ filename = f"{module}.yml"
34
+ file = resources.files(f"{package}.data")
35
+ print("sh_path_module_yaml files = {files}")
36
+ path: TyPath = file.joinpath(filename)
45
37
  return path
46
38
 
47
39
  @staticmethod
48
- def sh_path_keys_yaml(
49
- d_pacmod: TyDic, filename: str = 'keys.yml') -> str:
40
+ def sh_path_keys(
41
+ d_pacmod: TyDic, filename: str = 'keys.yml') -> TyPath:
50
42
  """ show directory
51
43
  """
52
44
  package = d_pacmod['package']
53
- directory = f"{package}.data"
54
- path: str = pkg_resources.resource_filename(directory, filename)
45
+ files = resources.files(f"{package}.data")
46
+ print("sh_path_keys files = {files}")
47
+ path: TyPath = files.joinpath(filename)
55
48
  return path
56
49
 
50
+ # @staticmethod
51
+ # def sh_path_log_cfg(com) -> TyPath:
52
+ # """ show directory
53
+ # """
54
+ # package = com.d_app_pacmod['package']
55
+ # path = resources.files(package).joinpath(f"data/log.{com.log_type}.yml")
56
+ # if path.is_file():
57
+ # return path
58
+ # package = com.d_com_pacmod['package']
59
+ # path = resources.files(package).joinpath(f"data/log.{com.log_type}.yml")
60
+ # if path.is_file():
61
+ # return path
62
+ # raise ModuleNotFoundError
63
+
57
64
  @staticmethod
58
- def sh_pacmod_type(d_pacmod: TyDic, type_: str) -> str:
59
- """ show Data File Path
65
+ def sh_path_cfg(com) -> TyPath:
66
+ """ show directory
60
67
  """
61
- package = d_pacmod['package']
62
- module = d_pacmod['module']
63
- return f"/data/{package}/{module}/{type_}"
68
+ filename = 'cfg.yml'
69
+ package = com.d_app_pacmod['package']
70
+ files = resources.files(f"{package}.data")
71
+ print(f"sh_path_cfg files = {files}")
72
+ path: TyPath = files.joinpath(filename)
73
+ return path
64
74
 
65
- @classmethod
66
- def sh_file_path(
67
- cls, d_pacmod: TyDic, type_: str, suffix: str,
68
- pid: Any, ts: Any, **kwargs) -> str:
69
- """ show type specific path
70
- """
71
- filename = kwargs.get('filename')
72
- if filename is not None:
73
- filename_ = filename
74
- else:
75
- filename_ = type_
75
+ # @staticmethod
76
+ # def sh_path_type(d_pacmod: TyDic, type_: str) -> str:
77
+ # """ show Data File Path
78
+ # """
79
+ # # def sh_pacmod_type(d_pacmod: TyDic, type_: str) -> str:
80
+ # package = d_pacmod['package']
81
+ # module = d_pacmod['module']
82
+ # return f"/data/{package}/{module}/{type_}"
76
83
 
77
- sw_run_pid_ts = kwargs.get('sw_run_pid_ts', True)
78
- if sw_run_pid_ts is None:
79
- sw_run_pid_ts = True
84
+ # @classmethod
85
+ # def sh_file_path(
86
+ # cls, d_pacmod: TyDic, type_: str, suffix: str,
87
+ # pid: Any, ts: Any, **kwargs) -> str:
88
+ # """ show type specific path
89
+ # """
90
+ # filename_ = kwargs.get('filename', type_)
91
+ # sw_run_pid_ts = kwargs.get('sw_run_pid_ts', True)
92
+ # if sw_run_pid_ts is None:
93
+ # sw_run_pid_ts = True
94
+ #
95
+ # _dir: str = cls.sh_pacmod_type(d_pacmod, type_)
96
+ # if sw_run_pid_ts:
97
+ # file_path = os_path.join(
98
+ # _dir, f"{filename_}_{pid}_{ts}.{suffix}")
99
+ # else:
100
+ # file_path = os_path.join(_dir, f"{filename_}.{suffix}")
101
+ # return file_path
80
102
 
81
- _dir: str = cls.sh_pacmod_type(d_pacmod, type_)
82
- if sw_run_pid_ts:
83
- file_path = os_path.join(
84
- _dir, f"{filename_}_{pid}_{ts}.{suffix}")
103
+ @staticmethod
104
+ def sh_dir_type(com, type_: str) -> str:
105
+ """Show run_dir
106
+ """
107
+ dir_dat: str = com.dir_dat
108
+ tenant: str = com.tenant
109
+ package: str = com.d_app_pacmod['package']
110
+ module: str = com.d_app_pacmod['module']
111
+ if not tenant:
112
+ return f"{dir_dat}/{tenant}/{package}/{module}/{type_}"
85
113
  else:
86
- file_path = os_path.join(_dir, f"{filename_}.{suffix}")
87
- return file_path
114
+ return f"{dir_dat}/{package}/{module}/{type_}"
88
115
 
89
116
  @classmethod
90
- def sh_pattern(
91
- cls, d_pacmod: TyDic, type_: str, suffix: str, **kwargs) -> str:
117
+ def sh_path_pattern(
118
+ cls, com, filename, type_: str, suffix: str) -> str:
92
119
  """ show type specific path
93
120
  """
94
- filename = kwargs.get('filename')
95
- _directory: str = cls.sh_pacmod_type(d_pacmod, type_)
96
- path = os_path.join(_directory, f"{filename}*.{suffix}")
121
+ _dir: str = cls.sh_dir_type(com, type_)
122
+ path: TyPath = os_path.join(_dir, f"{filename}*.{suffix}")
97
123
  return path
98
-
99
- @staticmethod
100
- def sh_path_cfg_log(d_pacmod: TnDic = None, filename: str = 'log.yml'):
101
- """ show directory
102
- """
103
- if d_pacmod is None:
104
- d_pacmod = {'package': 'ka_uts_com', 'module': 'com'}
105
- return pkg_resources.resource_filename(
106
- f"{d_pacmod['package']}.data", filename
107
- )