From 1bdfeb570d3e0a2dd5f0f3cc8f73f0858f7bd6d1 Mon Sep 17 00:00:00 2001 From: jo Date: Wed, 1 Mar 2023 19:20:44 +0100 Subject: [PATCH] fix(playout): use int for liquidsoap queues map --- .../libretime_playout/liquidsoap/client/_client.py | 4 ++-- playout/libretime_playout/player/liquidsoap.py | 14 +++++++------- .../libretime_playout/player/liquidsoap_gateway.py | 6 +++--- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/playout/libretime_playout/liquidsoap/client/_client.py b/playout/libretime_playout/liquidsoap/client/_client.py index 1aff40c4f..0ddeff1b2 100644 --- a/playout/libretime_playout/liquidsoap/client/_client.py +++ b/playout/libretime_playout/liquidsoap/client/_client.py @@ -68,11 +68,11 @@ class LiquidsoapClient: def queues_remove(self, *queues: int) -> None: with self.conn: for queue_id in queues: - self.conn.write(f"queues.{queue_id}_skip") + self.conn.write(f"queues.s{queue_id}_skip") def queue_push(self, queue_id: int, entry: str, show_name: str) -> None: with self.conn: - self.conn.write(f"{queue_id}.push {entry}") + self.conn.write(f"s{queue_id}.push {entry}") self.conn.read() # Flush self._set_var("show_name", self._quote(show_name)) diff --git a/playout/libretime_playout/player/liquidsoap.py b/playout/libretime_playout/player/liquidsoap.py index 9701fe5cb..c671b9857 100644 --- a/playout/libretime_playout/player/liquidsoap.py +++ b/playout/libretime_playout/player/liquidsoap.py @@ -20,11 +20,11 @@ logger = logging.getLogger(__name__) class PypoLiquidsoap: def __init__(self, liq_client: LiquidsoapClient): - self.liq_queue_tracker: Dict[str, Optional[FileEvent]] = { - "s0": None, - "s1": None, - "s2": None, - "s3": None, + self.liq_queue_tracker: Dict[int, Optional[FileEvent]] = { + 0: None, + 1: None, + 2: None, + 3: None, } self.liq_client = liq_client @@ -93,7 +93,7 @@ class PypoLiquidsoap: return True return datetime.utcnow() > event_key_to_datetime(media_item["end"]) - def find_available_queue(self) -> str: + def find_available_queue(self) -> int: available_queue = None for queue_id, item in self.liq_queue_tracker.items(): if item is None or self.is_media_item_finished(item): @@ -213,7 +213,7 @@ class PypoLiquidsoap: except KeyError as exception: logger.exception("Malformed event in schedule: %s", exception) - def stop(self, queue_id: str): + def stop(self, queue_id: int): self.telnet_liquidsoap.queue_remove(queue_id) self.liq_queue_tracker[queue_id] = None diff --git a/playout/libretime_playout/player/liquidsoap_gateway.py b/playout/libretime_playout/player/liquidsoap_gateway.py index a81758758..31bfe1f79 100644 --- a/playout/libretime_playout/player/liquidsoap_gateway.py +++ b/playout/libretime_playout/player/liquidsoap_gateway.py @@ -45,7 +45,7 @@ class TelnetLiquidsoap: def __init__( self, liq_client: LiquidsoapClient, - queues: List[str], + queues: List[int], ): self.liq_client = liq_client self.queues = queues @@ -59,14 +59,14 @@ class TelnetLiquidsoap: logger.exception(exception) @ls_timeout - def queue_remove(self, queue_id): + def queue_remove(self, queue_id: int): try: self.liq_client.queues_remove(queue_id) except (ConnectionError, TimeoutError) as exception: logger.exception(exception) @ls_timeout - def queue_push(self, queue_id, media_item): + def queue_push(self, queue_id: int, media_item: FileEvent): try: annotation = create_liquidsoap_annotation(media_item) self.liq_client.queue_push(queue_id, annotation, media_item["show_name"])