refactor(playout): add ended check to event class
This commit is contained in:
parent
161f2ccdcb
commit
964ee7e07c
|
@ -60,6 +60,9 @@ class BaseEvent(BaseModel):
|
||||||
def end_key(self) -> str:
|
def end_key(self) -> str:
|
||||||
return datetime_to_event_key(self.end)
|
return datetime_to_event_key(self.end)
|
||||||
|
|
||||||
|
def ended(self) -> bool:
|
||||||
|
return datetime.utcnow() > self.end
|
||||||
|
|
||||||
|
|
||||||
class FileEvent(BaseEvent):
|
class FileEvent(BaseEvent):
|
||||||
type: Literal[EventKind.FILE]
|
type: Literal[EventKind.FILE]
|
||||||
|
|
|
@ -195,15 +195,10 @@ class PypoLiquidsoap:
|
||||||
elif event.event_type == "switch_off":
|
elif event.event_type == "switch_off":
|
||||||
self.telnet_liquidsoap.switch_source("live_dj", "off")
|
self.telnet_liquidsoap.switch_source("live_dj", "off")
|
||||||
|
|
||||||
def is_media_item_finished(self, media_item: Optional[AnyEvent]) -> bool:
|
|
||||||
if media_item is None:
|
|
||||||
return True
|
|
||||||
return datetime.utcnow() > media_item.end
|
|
||||||
|
|
||||||
def find_available_queue(self) -> int:
|
def find_available_queue(self) -> int:
|
||||||
available_queue = None
|
available_queue = None
|
||||||
for queue_id, item in self.liq_queue_tracker.items():
|
for queue_id, item in self.liq_queue_tracker.items():
|
||||||
if item is None or self.is_media_item_finished(item):
|
if item is None or item.ended():
|
||||||
# queue "i" is available. Push to this queue
|
# queue "i" is available. Push to this queue
|
||||||
available_queue = queue_id
|
available_queue = queue_id
|
||||||
|
|
||||||
|
@ -252,9 +247,7 @@ class PypoLiquidsoap:
|
||||||
row_id_map: Dict[int, FileEvent] = {}
|
row_id_map: Dict[int, FileEvent] = {}
|
||||||
liq_queue_ids: Set[int] = set()
|
liq_queue_ids: Set[int] = set()
|
||||||
for queue_item in self.liq_queue_tracker.values():
|
for queue_item in self.liq_queue_tracker.values():
|
||||||
if queue_item is not None and not self.is_media_item_finished(
|
if queue_item is not None and not queue_item.ended():
|
||||||
queue_item
|
|
||||||
):
|
|
||||||
liq_queue_ids.add(queue_item.row_id)
|
liq_queue_ids.add(queue_item.row_id)
|
||||||
row_id_map[queue_item.row_id] = queue_item
|
row_id_map[queue_item.row_id] = queue_item
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue