This commit is contained in:
2022-06-27 11:58:39 -07:00
parent 0e638e51bf
commit f6c206e0b1
5 changed files with 40 additions and 1 deletions

View File

@ -222,6 +222,15 @@ class AppConfig(ConfigBase):
required=False
)
FILE_PATH = StringConfigEntry(
key_path=[
CONFIG_NODE_ROOT,
CONFIG_NODE_FILE,
"path"
],
required=False
)
DEVICE_PATTERNS = ListConfigEntry(
item_type=RegexConfigEntry,
item_args={

View File

@ -23,6 +23,7 @@ CONFIG_NODE_SERVER = "server"
CONFIG_NODE_HTTP = "http"
CONFIG_NODE_MQTT = "mqtt"
CONFIG_NODE_SERIAL = "serial"
CONFIG_NODE_FILE = "file"
CONFIG_NODE_STATS = "stats"
CONFIG_NODE_PORT = "port"

View File

@ -0,0 +1,20 @@
import logging
# import time as sleep
from prometheus_async.aio import time
from barcode_server.barcode import BarcodeEvent
from barcode_server.notifier import BarcodeNotifier
from barcode_server.stats import FILE_NOTIFIER_TIME
LOGGER = logging.getLogger(__name__)
class FileNotifier(BarcodeNotifier):
def __init__(self, path: str):
super().__init__()
self.path = path
@time(FILE_NOTIFIER_TIME)
async def _send_event(self, event: BarcodeEvent):
LOGGER.debug(f"Notified {self.path}: {event.barcode}")

View File

@ -63,6 +63,10 @@ class Webserver:
serial_notifier = SerialNotifier(config.SERIAL_PATH.value, self.usb)
self.notifiers["serial"] = serial_notifier
if config.FILE_PATH.value is not None:
file_notifier = SerialNotifier(config.FILE_PATH.value)
self.notifiers["file"] = file_notifier
async def start(self):
# start detecting and reading barcode scanners
await self.barcode_reader.start()