atk-common 3.19.0__tar.gz → 3.20.0__tar.gz

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 (73) hide show
  1. {atk_common-3.19.0 → atk_common-3.20.0}/PKG-INFO +1 -1
  2. {atk_common-3.19.0 → atk_common-3.20.0}/setup.py +1 -1
  3. atk_common-3.20.0/src/atk_common/classes/env_handler.py +76 -0
  4. {atk_common-3.19.0 → atk_common-3.20.0}/src/atk_common.egg-info/PKG-INFO +1 -1
  5. atk_common-3.19.0/src/atk_common/classes/env_handler.py +0 -38
  6. {atk_common-3.19.0 → atk_common-3.20.0}/README.md +0 -0
  7. {atk_common-3.19.0 → atk_common-3.20.0}/license.txt +0 -0
  8. {atk_common-3.19.0 → atk_common-3.20.0}/pyproject.toml +0 -0
  9. {atk_common-3.19.0 → atk_common-3.20.0}/setup.cfg +0 -0
  10. {atk_common-3.19.0 → atk_common-3.20.0}/src/atk_common/__init__.py +0 -0
  11. {atk_common-3.19.0 → atk_common-3.20.0}/src/atk_common/classes/__init__.py +0 -0
  12. {atk_common-3.19.0 → atk_common-3.20.0}/src/atk_common/classes/bo_logger.py +0 -0
  13. {atk_common-3.19.0 → atk_common-3.20.0}/src/atk_common/classes/docker_handler.py +0 -0
  14. {atk_common-3.19.0 → atk_common-3.20.0}/src/atk_common/classes/error_handler.py +0 -0
  15. {atk_common-3.19.0 → atk_common-3.20.0}/src/atk_common/classes/http_response_handler.py +0 -0
  16. {atk_common-3.19.0 → atk_common-3.20.0}/src/atk_common/classes/rabbitmq_consumer.py +0 -0
  17. {atk_common-3.19.0 → atk_common-3.20.0}/src/atk_common/enums/__init__.py +0 -0
  18. {atk_common-3.19.0 → atk_common-3.20.0}/src/atk_common/enums/api_error_type_enum.py +0 -0
  19. {atk_common-3.19.0 → atk_common-3.20.0}/src/atk_common/enums/camera_cabinet_type_enum.py +0 -0
  20. {atk_common-3.19.0 → atk_common-3.20.0}/src/atk_common/enums/camera_role_enum.py +0 -0
  21. {atk_common-3.19.0 → atk_common-3.20.0}/src/atk_common/enums/certificate_issuer_enum.py +0 -0
  22. {atk_common-3.19.0 → atk_common-3.20.0}/src/atk_common/enums/command_status_type_enum.py +0 -0
  23. {atk_common-3.19.0 → atk_common-3.20.0}/src/atk_common/enums/command_type_enum.py +0 -0
  24. {atk_common-3.19.0 → atk_common-3.20.0}/src/atk_common/enums/config_reply_status_type_enum.py +0 -0
  25. {atk_common-3.19.0 → atk_common-3.20.0}/src/atk_common/enums/detection_status_type_enum.py +0 -0
  26. {atk_common-3.19.0 → atk_common-3.20.0}/src/atk_common/enums/encryption_type_enum.py +0 -0
  27. {atk_common-3.19.0 → atk_common-3.20.0}/src/atk_common/enums/file_exists_enum.py +0 -0
  28. {atk_common-3.19.0 → atk_common-3.20.0}/src/atk_common/enums/history_status_type_enum.py +0 -0
  29. {atk_common-3.19.0 → atk_common-3.20.0}/src/atk_common/enums/image_encoding_type_enum.py +0 -0
  30. {atk_common-3.19.0 → atk_common-3.20.0}/src/atk_common/enums/image_part_category_enum.py +0 -0
  31. {atk_common-3.19.0 → atk_common-3.20.0}/src/atk_common/enums/image_part_type_enum.py +0 -0
  32. {atk_common-3.19.0 → atk_common-3.20.0}/src/atk_common/enums/image_shelf_type_enum.py +0 -0
  33. {atk_common-3.19.0 → atk_common-3.20.0}/src/atk_common/enums/log_level_enum.py +0 -0
  34. {atk_common-3.19.0 → atk_common-3.20.0}/src/atk_common/enums/metering_direction_enum.py +0 -0
  35. {atk_common-3.19.0 → atk_common-3.20.0}/src/atk_common/enums/mq_retry_action_type_enum.py +0 -0
  36. {atk_common-3.19.0 → atk_common-3.20.0}/src/atk_common/enums/multimotor_status_type_enum.py +0 -0
  37. {atk_common-3.19.0 → atk_common-3.20.0}/src/atk_common/enums/piezo_vehicle_type_enum.py +0 -0
  38. {atk_common-3.19.0 → atk_common-3.20.0}/src/atk_common/enums/process_status_type_enum.py +0 -0
  39. {atk_common-3.19.0 → atk_common-3.20.0}/src/atk_common/enums/response_status_type_enum.py +0 -0
  40. {atk_common-3.19.0 → atk_common-3.20.0}/src/atk_common/enums/section_role_enum.py +0 -0
  41. {atk_common-3.19.0 → atk_common-3.20.0}/src/atk_common/enums/sensor_order_enum.py +0 -0
  42. {atk_common-3.19.0 → atk_common-3.20.0}/src/atk_common/enums/sensor_type_enum.py +0 -0
  43. {atk_common-3.19.0 → atk_common-3.20.0}/src/atk_common/enums/speed_control_status_type_enum.py +0 -0
  44. {atk_common-3.19.0 → atk_common-3.20.0}/src/atk_common/enums/speed_control_stop_reason.py +0 -0
  45. {atk_common-3.19.0 → atk_common-3.20.0}/src/atk_common/enums/test_image_type_enum.py +0 -0
  46. {atk_common-3.19.0 → atk_common-3.20.0}/src/atk_common/enums/violation_type_enum.py +0 -0
  47. {atk_common-3.19.0 → atk_common-3.20.0}/src/atk_common/interfaces/__init__.py +0 -0
  48. {atk_common-3.19.0 → atk_common-3.20.0}/src/atk_common/interfaces/docker_handler_interface.py +0 -0
  49. {atk_common-3.19.0 → atk_common-3.20.0}/src/atk_common/interfaces/env_handler_interface.py +0 -0
  50. {atk_common-3.19.0 → atk_common-3.20.0}/src/atk_common/interfaces/error_handler_interface.py +0 -0
  51. {atk_common-3.19.0 → atk_common-3.20.0}/src/atk_common/interfaces/http_response_handler_interface.py +0 -0
  52. {atk_common-3.19.0 → atk_common-3.20.0}/src/atk_common/interfaces/logger_interface.py +0 -0
  53. {atk_common-3.19.0 → atk_common-3.20.0}/src/atk_common/utils/__init__.py +0 -0
  54. {atk_common-3.19.0 → atk_common-3.20.0}/src/atk_common/utils/consumer_retry_handler.py +0 -0
  55. {atk_common-3.19.0 → atk_common-3.20.0}/src/atk_common/utils/datetime_utils.py +0 -0
  56. {atk_common-3.19.0 → atk_common-3.20.0}/src/atk_common/utils/db_utils.py +0 -0
  57. {atk_common-3.19.0 → atk_common-3.20.0}/src/atk_common/utils/default_should_retry.py +0 -0
  58. {atk_common-3.19.0 → atk_common-3.20.0}/src/atk_common/utils/error_utils.py +0 -0
  59. {atk_common-3.19.0 → atk_common-3.20.0}/src/atk_common/utils/file_utils.py +0 -0
  60. {atk_common-3.19.0 → atk_common-3.20.0}/src/atk_common/utils/hash_utils.py +0 -0
  61. {atk_common-3.19.0 → atk_common-3.20.0}/src/atk_common/utils/http_utils.py +0 -0
  62. {atk_common-3.19.0 → atk_common-3.20.0}/src/atk_common/utils/internal_response_utils.py +0 -0
  63. {atk_common-3.19.0 → atk_common-3.20.0}/src/atk_common/utils/mq_utils.py +0 -0
  64. {atk_common-3.19.0 → atk_common-3.20.0}/src/atk_common/utils/str_utils.py +0 -0
  65. {atk_common-3.19.0 → atk_common-3.20.0}/src/atk_common.egg-info/SOURCES.txt +0 -0
  66. {atk_common-3.19.0 → atk_common-3.20.0}/src/atk_common.egg-info/dependency_links.txt +0 -0
  67. {atk_common-3.19.0 → atk_common-3.20.0}/src/atk_common.egg-info/requires.txt +0 -0
  68. {atk_common-3.19.0 → atk_common-3.20.0}/src/atk_common.egg-info/top_level.txt +0 -0
  69. {atk_common-3.19.0 → atk_common-3.20.0}/src/shared_python_atk_enforcement/__init__.py +0 -0
  70. {atk_common-3.19.0 → atk_common-3.20.0}/tests/test_docker_utils.py +0 -0
  71. {atk_common-3.19.0 → atk_common-3.20.0}/tests/test_error_utils.py +0 -0
  72. {atk_common-3.19.0 → atk_common-3.20.0}/tests/test_http_utils.py +0 -0
  73. {atk_common-3.19.0 → atk_common-3.20.0}/tests/test_log_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: atk_common
3
- Version: 3.19.0
3
+ Version: 3.20.0
4
4
  Summary: ATK common methods
5
5
  Home-page: https://github.com/pypa/atk_common
6
6
  Author: Roger
@@ -36,7 +36,7 @@ setup(
36
36
  # For a discussion on single-sourcing the version across setup.py and the
37
37
  # project code, see
38
38
  # https://packaging.python.org/guides/single-sourcing-package-version/
39
- version="3.19.0", # Required
39
+ version="3.20.0", # Required
40
40
  # This is a one-line description or tagline of what your project does. This
41
41
  # corresponds to the "Summary" metadata field:
42
42
  # https://packaging.python.org/specifications/core-metadata/#summary
@@ -0,0 +1,76 @@
1
+ import os
2
+ from pathlib import Path
3
+ from typing import Optional
4
+ from atk_common.interfaces import IEnvHandler
5
+ from atk_common.interfaces import ILogger
6
+
7
+ class MyEnvHandler(IEnvHandler):
8
+ def __init__(self, logger: Optional[ILogger]):
9
+ self.logger = logger
10
+
11
+ def set_logger(self, logger: ILogger):
12
+ self.logger = logger
13
+
14
+ def val_str(self, value: Optional[object]) -> str:
15
+ if value is None:
16
+ return '<Empty>'
17
+ if isinstance(value, str):
18
+ if value.strip() == '' or value.lower() == 'null':
19
+ return '<Null>'
20
+ return value
21
+ return str(value)
22
+
23
+ def is_value_null_or_empty(self, value: Optional[str]) -> bool:
24
+ if value is None:
25
+ return True
26
+ s = value.strip()
27
+ return s == '' or s.lower() == 'null'
28
+
29
+ def get_env_value(self, key: str) -> Optional[str]:
30
+ val = os.environ.get(key)
31
+ if val is None:
32
+ err_msg = f"Environment key '{key}' is missing."
33
+ if self.logger:
34
+ self.logger.error(err_msg)
35
+ raise ValueError(err_msg)
36
+ if self.logger:
37
+ self.logger.info(key + ':' + self.val_str(val))
38
+ if self.is_value_null_or_empty(val):
39
+ return None
40
+ return val
41
+
42
+ @staticmethod
43
+ def read_secret(path):
44
+ return Path(path).read_text().rstrip('\n')
45
+
46
+ def get_env_value_secret(self, key: str, file_key: str) -> str:
47
+ val = os.environ.get(key)
48
+ if val is None:
49
+ err_msg = f"Environment key '{key}' is missing."
50
+ if self.logger:
51
+ self.logger.error(err_msg)
52
+ raise ValueError(err_msg)
53
+ if self.is_value_null_or_empty(val):
54
+ secret_path = os.getenv(file_key)
55
+ if secret_path is None:
56
+ err_msg = f"Secret file key '{file_key}' is missing."
57
+ if self.logger:
58
+ self.logger.error(err_msg)
59
+ raise ValueError(err_msg)
60
+ if self.is_value_null_or_empty(secret_path):
61
+ err_msg = f"Secret file variable '{file_key}' is not set."
62
+ if self.logger:
63
+ self.logger.error(err_msg)
64
+ raise ValueError(err_msg)
65
+ if not Path(secret_path).is_file():
66
+ err_msg = f"Secret file '{secret_path}' not found."
67
+ if self.logger:
68
+ self.logger.error(err_msg)
69
+ raise ValueError(err_msg)
70
+ val = self.read_secret(secret_path)
71
+ if self.is_value_null_or_empty(val):
72
+ err_msg = f"Secret from key file '{secret_path}' is empty."
73
+ if self.logger:
74
+ self.logger.error(err_msg)
75
+ raise ValueError(err_msg)
76
+ return val
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: atk_common
3
- Version: 3.19.0
3
+ Version: 3.20.0
4
4
  Summary: ATK common methods
5
5
  Home-page: https://github.com/pypa/atk_common
6
6
  Author: Roger
@@ -1,38 +0,0 @@
1
- import os
2
- from typing import Optional
3
- from atk_common.interfaces import IEnvHandler
4
- from atk_common.interfaces import ILogger
5
-
6
- class EnvHandler(IEnvHandler):
7
- def __init__(self, logger: Optional[ILogger]): # type: ignore
8
- self.logger = logger
9
-
10
- def val_str(self, value):
11
- if value is None:
12
- return '<Empty>'
13
- if isinstance(value, str):
14
- if value.strip() == '' or value.lower() == 'null':
15
- return '<Null>'
16
- return value
17
- return str(value)
18
-
19
- def is_value_null_or_empty(self, value):
20
- if isinstance(value, str):
21
- return value.strip() == '' or value.lower() == 'null'
22
- return False
23
-
24
- def get_env_value(self, key, abort_on_error=True):
25
- val = os.environ.get(key)
26
- if self.logger:
27
- self.logger.info(key + ':' + self.val_str(val))
28
- if val is None and abort_on_error:
29
- err_msg = f"Environment variable '{key}' is not set."
30
- if self.logger:
31
- self.logger.error(err_msg)
32
- raise ValueError(err_msg)
33
- if self.is_value_null_or_empty(val):
34
- return None
35
- return val
36
-
37
- def set_logger(self, logger: ILogger):
38
- self.logger = logger
File without changes
File without changes
File without changes
File without changes