Add support for multiple serial devices
This commit is contained in:
@ -15,6 +15,7 @@ from barcode_server.notifier import BarcodeNotifier
|
||||
from barcode_server.notifier.http import HttpNotifier
|
||||
from barcode_server.notifier.mqtt import MQTTNotifier
|
||||
from barcode_server.notifier.serial import SerialNotifier
|
||||
from barcode_server.notifier.file import FileNotifier
|
||||
from barcode_server.notifier.ws import WebsocketNotifier
|
||||
from barcode_server.stats import REST_TIME_DEVICES, WEBSOCKET_CLIENT_COUNT
|
||||
from barcode_server.util import input_device_to_dict
|
||||
@ -23,7 +24,7 @@ LOGGER = logging.getLogger(__name__)
|
||||
routes = web.RouteTableDef()
|
||||
|
||||
|
||||
class Webserver:
|
||||
class WebServer:
|
||||
|
||||
def __init__(self, config: AppConfig, barcode_reader: BarcodeReader):
|
||||
self.config = config
|
||||
@ -35,9 +36,8 @@ class Webserver:
|
||||
self.barcode_reader = barcode_reader
|
||||
self.barcode_reader.add_listener(self.on_barcode)
|
||||
|
||||
self.usb = {}
|
||||
|
||||
self.notifiers: Dict[str, BarcodeNotifier] = {}
|
||||
|
||||
if config.HTTP_URL.value is not None:
|
||||
http_notifier = HttpNotifier(
|
||||
config.HTTP_METHOD.value,
|
||||
@ -58,13 +58,12 @@ class Webserver:
|
||||
)
|
||||
self.notifiers["mqtt"] = mqtt_notifier
|
||||
|
||||
if config.SERIAL_PATH.value is not None:
|
||||
self.usb = serial.Serial(config.SERIAL_PATH.value, 9600, timeout=2)
|
||||
serial_notifier = SerialNotifier(config.SERIAL_PATH.value, self.usb)
|
||||
if config.SERIAL_PATH_A.value is not None:
|
||||
serial_notifier = SerialNotifier(config.SERIAL_PATH_A.value, config.SERIAL_PATH_B.value)
|
||||
self.notifiers["serial"] = serial_notifier
|
||||
|
||||
if config.FILE_PATH.value is not None:
|
||||
file_notifier = SerialNotifier(config.FILE_PATH.value)
|
||||
file_notifier = FileNotifier(config.FILE_PATH.value)
|
||||
self.notifiers["file"] = file_notifier
|
||||
|
||||
async def start(self):
|
||||
|
Reference in New Issue
Block a user