atk-common 3.2.0__tar.gz → 3.4.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.
- {atk_common-3.2.0 → atk_common-3.4.0}/PKG-INFO +1 -1
- {atk_common-3.2.0 → atk_common-3.4.0}/setup.py +1 -1
- {atk_common-3.2.0 → atk_common-3.4.0}/src/atk_common/classes/bo_logger.py +3 -4
- {atk_common-3.2.0 → atk_common-3.4.0}/src/atk_common/classes/rabbitmq_consumer.py +4 -4
- {atk_common-3.2.0 → atk_common-3.4.0}/src/atk_common/interfaces/logger_interface.py +3 -0
- {atk_common-3.2.0 → atk_common-3.4.0}/src/atk_common/utils/__init__.py +2 -0
- {atk_common-3.2.0 → atk_common-3.4.0}/src/atk_common/utils/datetime_utils.py +3 -0
- {atk_common-3.2.0 → atk_common-3.4.0}/src/atk_common.egg-info/PKG-INFO +1 -1
- {atk_common-3.2.0 → atk_common-3.4.0}/README.md +0 -0
- {atk_common-3.2.0 → atk_common-3.4.0}/license.txt +0 -0
- {atk_common-3.2.0 → atk_common-3.4.0}/pyproject.toml +0 -0
- {atk_common-3.2.0 → atk_common-3.4.0}/setup.cfg +0 -0
- {atk_common-3.2.0 → atk_common-3.4.0}/src/atk_common/__init__.py +0 -0
- {atk_common-3.2.0 → atk_common-3.4.0}/src/atk_common/classes/__init__.py +0 -0
- {atk_common-3.2.0 → atk_common-3.4.0}/src/atk_common/classes/docker_handler.py +0 -0
- {atk_common-3.2.0 → atk_common-3.4.0}/src/atk_common/classes/env_handler.py +0 -0
- {atk_common-3.2.0 → atk_common-3.4.0}/src/atk_common/classes/error_handler.py +0 -0
- {atk_common-3.2.0 → atk_common-3.4.0}/src/atk_common/classes/http_response_handler.py +0 -0
- {atk_common-3.2.0 → atk_common-3.4.0}/src/atk_common/enums/__init__.py +0 -0
- {atk_common-3.2.0 → atk_common-3.4.0}/src/atk_common/enums/api_error_type_enum.py +0 -0
- {atk_common-3.2.0 → atk_common-3.4.0}/src/atk_common/enums/camera_cabinet_type_enum.py +0 -0
- {atk_common-3.2.0 → atk_common-3.4.0}/src/atk_common/enums/camera_role_enum.py +0 -0
- {atk_common-3.2.0 → atk_common-3.4.0}/src/atk_common/enums/certificate_issuer_enum.py +0 -0
- {atk_common-3.2.0 → atk_common-3.4.0}/src/atk_common/enums/command_status_type_enum.py +0 -0
- {atk_common-3.2.0 → atk_common-3.4.0}/src/atk_common/enums/command_type_enum.py +0 -0
- {atk_common-3.2.0 → atk_common-3.4.0}/src/atk_common/enums/config_reply_status_type_enum.py +0 -0
- {atk_common-3.2.0 → atk_common-3.4.0}/src/atk_common/enums/detection_status_type_enum.py +0 -0
- {atk_common-3.2.0 → atk_common-3.4.0}/src/atk_common/enums/encryption_type_enum.py +0 -0
- {atk_common-3.2.0 → atk_common-3.4.0}/src/atk_common/enums/file_exists_enum.py +0 -0
- {atk_common-3.2.0 → atk_common-3.4.0}/src/atk_common/enums/history_status_type_enum.py +0 -0
- {atk_common-3.2.0 → atk_common-3.4.0}/src/atk_common/enums/image_encoding_type_enum.py +0 -0
- {atk_common-3.2.0 → atk_common-3.4.0}/src/atk_common/enums/image_part_category_enum.py +0 -0
- {atk_common-3.2.0 → atk_common-3.4.0}/src/atk_common/enums/image_part_type_enum.py +0 -0
- {atk_common-3.2.0 → atk_common-3.4.0}/src/atk_common/enums/image_shelf_type_enum.py +0 -0
- {atk_common-3.2.0 → atk_common-3.4.0}/src/atk_common/enums/log_level_enum.py +0 -0
- {atk_common-3.2.0 → atk_common-3.4.0}/src/atk_common/enums/metering_direction_enum.py +0 -0
- {atk_common-3.2.0 → atk_common-3.4.0}/src/atk_common/enums/multimotor_status_type_enum.py +0 -0
- {atk_common-3.2.0 → atk_common-3.4.0}/src/atk_common/enums/piezo_vehicle_type_enum.py +0 -0
- {atk_common-3.2.0 → atk_common-3.4.0}/src/atk_common/enums/process_status_type_enum.py +0 -0
- {atk_common-3.2.0 → atk_common-3.4.0}/src/atk_common/enums/response_status_type_enum.py +0 -0
- {atk_common-3.2.0 → atk_common-3.4.0}/src/atk_common/enums/section_role_enum.py +0 -0
- {atk_common-3.2.0 → atk_common-3.4.0}/src/atk_common/enums/sensor_order_enum.py +0 -0
- {atk_common-3.2.0 → atk_common-3.4.0}/src/atk_common/enums/sensor_type_enum.py +0 -0
- {atk_common-3.2.0 → atk_common-3.4.0}/src/atk_common/enums/speed_control_status_type_enum.py +0 -0
- {atk_common-3.2.0 → atk_common-3.4.0}/src/atk_common/enums/speed_control_stop_reason.py +0 -0
- {atk_common-3.2.0 → atk_common-3.4.0}/src/atk_common/enums/test_image_type_enum.py +0 -0
- {atk_common-3.2.0 → atk_common-3.4.0}/src/atk_common/enums/violation_type_enum.py +0 -0
- {atk_common-3.2.0 → atk_common-3.4.0}/src/atk_common/interfaces/__init__.py +0 -0
- {atk_common-3.2.0 → atk_common-3.4.0}/src/atk_common/interfaces/docker_handler_interface.py +0 -0
- {atk_common-3.2.0 → atk_common-3.4.0}/src/atk_common/interfaces/env_handler_interface.py +0 -0
- {atk_common-3.2.0 → atk_common-3.4.0}/src/atk_common/interfaces/error_handler_interface.py +0 -0
- {atk_common-3.2.0 → atk_common-3.4.0}/src/atk_common/interfaces/http_response_handler_interface.py +0 -0
- {atk_common-3.2.0 → atk_common-3.4.0}/src/atk_common/utils/consumer_retry_handler.py +0 -0
- {atk_common-3.2.0 → atk_common-3.4.0}/src/atk_common/utils/db_utils.py +0 -0
- {atk_common-3.2.0 → atk_common-3.4.0}/src/atk_common/utils/default_should_retry.py +0 -0
- {atk_common-3.2.0 → atk_common-3.4.0}/src/atk_common/utils/error_utils.py +0 -0
- {atk_common-3.2.0 → atk_common-3.4.0}/src/atk_common/utils/file_utils.py +0 -0
- {atk_common-3.2.0 → atk_common-3.4.0}/src/atk_common/utils/hash_utils.py +0 -0
- {atk_common-3.2.0 → atk_common-3.4.0}/src/atk_common/utils/http_utils.py +0 -0
- {atk_common-3.2.0 → atk_common-3.4.0}/src/atk_common/utils/internal_response_utils.py +0 -0
- {atk_common-3.2.0 → atk_common-3.4.0}/src/atk_common/utils/mq_utils.py +0 -0
- {atk_common-3.2.0 → atk_common-3.4.0}/src/atk_common.egg-info/SOURCES.txt +0 -0
- {atk_common-3.2.0 → atk_common-3.4.0}/src/atk_common.egg-info/dependency_links.txt +0 -0
- {atk_common-3.2.0 → atk_common-3.4.0}/src/atk_common.egg-info/requires.txt +0 -0
- {atk_common-3.2.0 → atk_common-3.4.0}/src/atk_common.egg-info/top_level.txt +0 -0
- {atk_common-3.2.0 → atk_common-3.4.0}/src/shared_python_atk_enforcement/__init__.py +0 -0
- {atk_common-3.2.0 → atk_common-3.4.0}/tests/test_docker_utils.py +0 -0
- {atk_common-3.2.0 → atk_common-3.4.0}/tests/test_error_utils.py +0 -0
- {atk_common-3.2.0 → atk_common-3.4.0}/tests/test_http_utils.py +0 -0
- {atk_common-3.2.0 → atk_common-3.4.0}/tests/test_log_utils.py +0 -0
@@ -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.
|
39
|
+
version="3.4.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
|
@@ -3,8 +3,7 @@ from typing import Optional
|
|
3
3
|
from opentelemetry.trace import get_current_span
|
4
4
|
from atk_common.interfaces import ILogger
|
5
5
|
from atk_common.enums import LogLevel
|
6
|
-
from atk_common.utils.datetime_utils import
|
7
|
-
from atk_common.enums.log_level_enum import LogLevel
|
6
|
+
from atk_common.utils.datetime_utils import get_utc_iso_date_time
|
8
7
|
|
9
8
|
class BoLogger(ILogger):
|
10
9
|
def __init__(self, log_level: LogLevel, component, version):
|
@@ -28,7 +27,7 @@ class BoLogger(ILogger):
|
|
28
27
|
def _create_log_json(self, timestamp, level: LogLevel, message: str):
|
29
28
|
log_entry = {
|
30
29
|
"timestamp": timestamp,
|
31
|
-
"
|
30
|
+
"level": level.name,
|
32
31
|
"message": message,
|
33
32
|
"component": self.component,
|
34
33
|
"version": self.version,
|
@@ -38,7 +37,7 @@ class BoLogger(ILogger):
|
|
38
37
|
|
39
38
|
def _log(self, level: LogLevel, message: str):
|
40
39
|
if level.value >= self.log_level.value:
|
41
|
-
timestamp =
|
40
|
+
timestamp = str(get_utc_iso_date_time())
|
42
41
|
log_json = self._create_log_json(timestamp, level, message)
|
43
42
|
print(json.dumps(log_json))
|
44
43
|
|
@@ -29,8 +29,8 @@ class RabbitMQConsumer:
|
|
29
29
|
self.content_type = content_type # Optional content type for message handling
|
30
30
|
self.message_handler = message_handler # Custom message handler
|
31
31
|
|
32
|
-
def
|
33
|
-
conn = self.
|
32
|
+
def _consume(self):
|
33
|
+
conn = self._establish_connection()
|
34
34
|
self.logger.info("Begin consuming messages...")
|
35
35
|
|
36
36
|
while True:
|
@@ -47,7 +47,7 @@ class RabbitMQConsumer:
|
|
47
47
|
self.logger.critical(f"Top-level exception in consume loop: {e}. Restarting after delay...")
|
48
48
|
return
|
49
49
|
|
50
|
-
def
|
50
|
+
def _establish_connection(self):
|
51
51
|
revived_connection = self.connection.clone()
|
52
52
|
revived_connection.ensure_connection(max_retries=3)
|
53
53
|
channel = revived_connection.channel()
|
@@ -66,7 +66,7 @@ class RabbitMQConsumer:
|
|
66
66
|
self.logger.info("Starting RabbitMQ consumer run loop...")
|
67
67
|
while True:
|
68
68
|
try:
|
69
|
-
self.
|
69
|
+
self._consume()
|
70
70
|
except Exception as e:
|
71
71
|
self.logger.critical(f"Top-level exception in run loop: {e}. Restarting after delay...")
|
72
72
|
time.sleep(5)
|
@@ -1,9 +1,12 @@
|
|
1
1
|
# interfaces/logger_interface.py
|
2
2
|
from typing import Protocol
|
3
3
|
|
4
|
+
from atk_common.enums.log_level_enum import LogLevel
|
5
|
+
|
4
6
|
class ILogger(Protocol):
|
5
7
|
def debug(self, msg: str) -> None: ...
|
6
8
|
def info(self, msg: str) -> None: ...
|
7
9
|
def warning(self, msg: str) -> None: ...
|
8
10
|
def error(self, msg: str) -> None: ...
|
9
11
|
def critical(self, msg: str) -> None: ...
|
12
|
+
def set_level(self, log_level: LogLevel) -> None: ...
|
@@ -6,6 +6,7 @@ from atk_common.utils.datetime_utils import \
|
|
6
6
|
get_utc_date_time_str_with_z, \
|
7
7
|
seconds_to_utc_timestamp, \
|
8
8
|
get_utc_date_from_iso, \
|
9
|
+
get_utc_iso_date_time, \
|
9
10
|
adjust_millisescond, \
|
10
11
|
convert_to_utc, \
|
11
12
|
convert_to_utc_image_dt
|
@@ -25,6 +26,7 @@ __all__ = [
|
|
25
26
|
'get_utc_date_time_str_with_z',
|
26
27
|
'seconds_to_utc_timestamp',
|
27
28
|
'get_utc_date_from_iso',
|
29
|
+
'get_utc_iso_date_time',
|
28
30
|
'adjust_millisescond',
|
29
31
|
'convert_to_utc',
|
30
32
|
'convert_to_utc_image_dt',
|
@@ -18,6 +18,9 @@ def get_utc_date_from_iso(date_time):
|
|
18
18
|
dt_utc = dt.astimezone(timezone.utc)
|
19
19
|
return str(dt_utc.date())
|
20
20
|
|
21
|
+
def get_utc_iso_date_time():
|
22
|
+
return datetime.now(timezone.utc).isoformat().replace('+00:00', 'Z')
|
23
|
+
|
21
24
|
def adjust_millisescond(dt_str):
|
22
25
|
if '.' in dt_str:
|
23
26
|
dt_part, frac = dt_str.split('.')
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{atk_common-3.2.0 → atk_common-3.4.0}/src/atk_common/enums/speed_control_status_type_enum.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{atk_common-3.2.0 → atk_common-3.4.0}/src/atk_common/interfaces/http_response_handler_interface.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|