diff --git a/components/shared/message_broker_wrapper.py b/components/shared/message_broker_wrapper.py index 81824ef..fb38810 100644 --- a/components/shared/message_broker_wrapper.py +++ b/components/shared/message_broker_wrapper.py @@ -1,4 +1,5 @@ from threading import Thread +from typing import Union import pika @@ -9,6 +10,8 @@ class MBWrapper: exchange_name: str callback: callable + _logger: Union['MBWrapper', None] + _type: str = None _connection: pika.BlockingConnection _channel: pika.BlockingConnection.channel @@ -21,6 +24,12 @@ class MBWrapper: verbose: bool = False): assert exchange_name, 'Please define an exchange name' + if exchange_name != 'logger': + self._logger = MBWrapper(exchange_name='logger') + self._logger.setup_sender() + else: + self._logger = None + self.host = host self.exchange_type = exchange_type self.exchange_name = exchange_name @@ -62,6 +71,9 @@ class MBWrapper: message = str(message).encode() self._channel.basic_publish(exchange=self.exchange_name, routing_key='', body=message) self.print("[{}] Sent {}".format(self.exchange_name, message)) + if self.__getattribute__('_logger'): + # print('logging') + self._logger.send(message) def close(self): self._connection.close() diff --git a/components/shared/target_velocity.py b/components/shared/target_velocity.py new file mode 100644 index 0000000..c3c8e5e --- /dev/null +++ b/components/shared/target_velocity.py @@ -0,0 +1,7 @@ +from dataclasses import dataclass + + +@dataclass +class TargetVelocity: + vin: str + target_velocity: float diff --git a/components/shared/TrafficLightColor.py b/components/shared/traffic_light_color.py similarity index 100% rename from components/shared/TrafficLightColor.py rename to components/shared/traffic_light_color.py diff --git a/components/shared/traffic_light_state.py b/components/shared/traffic_light_state.py new file mode 100644 index 0000000..19740d1 --- /dev/null +++ b/components/shared/traffic_light_state.py @@ -0,0 +1,11 @@ +from dataclasses import dataclass +from datetime import datetime + +from shared.traffic_light_color import TrafficLightColor + + +@dataclass +class TrafficLightState: + tlid: str + color: TrafficLightColor + last_switch: datetime