updated shared libs

This commit is contained in:
Marco Zeisler 2021-05-27 19:38:16 +02:00
parent c76bbdc42f
commit 4e1666ec5a
4 changed files with 30 additions and 0 deletions

View File

@ -1,4 +1,5 @@
from threading import Thread from threading import Thread
from typing import Union
import pika import pika
@ -9,6 +10,8 @@ class MBWrapper:
exchange_name: str exchange_name: str
callback: callable callback: callable
_logger: Union['MBWrapper', None]
_type: str = None _type: str = None
_connection: pika.BlockingConnection _connection: pika.BlockingConnection
_channel: pika.BlockingConnection.channel _channel: pika.BlockingConnection.channel
@ -21,6 +24,12 @@ class MBWrapper:
verbose: bool = False): verbose: bool = False):
assert exchange_name, 'Please define an exchange name' 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.host = host
self.exchange_type = exchange_type self.exchange_type = exchange_type
self.exchange_name = exchange_name self.exchange_name = exchange_name
@ -62,6 +71,9 @@ class MBWrapper:
message = str(message).encode() message = str(message).encode()
self._channel.basic_publish(exchange=self.exchange_name, routing_key='', body=message) self._channel.basic_publish(exchange=self.exchange_name, routing_key='', body=message)
self.print("[{}] Sent {}".format(self.exchange_name, message)) self.print("[{}] Sent {}".format(self.exchange_name, message))
if self.__getattribute__('_logger'):
# print('logging')
self._logger.send(message)
def close(self): def close(self):
self._connection.close() self._connection.close()

View File

@ -0,0 +1,7 @@
from dataclasses import dataclass
@dataclass
class TargetVelocity:
vin: str
target_velocity: float

View File

@ -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