refactor(playout): rename PypoLiquidsoap to Liquidsoap
This commit is contained in:
parent
f68bc2da88
commit
ce27615a24
|
@ -27,7 +27,7 @@ from .message_handler import MessageListener
|
||||||
from .player.events import Events, FileEvents
|
from .player.events import Events, FileEvents
|
||||||
from .player.fetch import PypoFetch
|
from .player.fetch import PypoFetch
|
||||||
from .player.file import PypoFile
|
from .player.file import PypoFile
|
||||||
from .player.liquidsoap import PypoLiquidsoap
|
from .player.liquidsoap import Liquidsoap
|
||||||
from .player.push import PypoPush
|
from .player.push import PypoPush
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
@ -124,7 +124,7 @@ def cli(
|
||||||
# priority, and retrieve it.
|
# priority, and retrieve it.
|
||||||
file_queue: "Queue[FileEvents]" = Queue()
|
file_queue: "Queue[FileEvents]" = Queue()
|
||||||
|
|
||||||
pypo_liquidsoap = PypoLiquidsoap(liq_client)
|
liquidsoap = Liquidsoap(liq_client)
|
||||||
|
|
||||||
PypoFile(file_queue, api_client).start()
|
PypoFile(file_queue, api_client).start()
|
||||||
|
|
||||||
|
@ -133,13 +133,13 @@ def cli(
|
||||||
push_queue,
|
push_queue,
|
||||||
file_queue,
|
file_queue,
|
||||||
liq_client,
|
liq_client,
|
||||||
pypo_liquidsoap,
|
liquidsoap,
|
||||||
config,
|
config,
|
||||||
api_client,
|
api_client,
|
||||||
legacy_client,
|
legacy_client,
|
||||||
).start()
|
).start()
|
||||||
|
|
||||||
PypoPush(push_queue, pypo_liquidsoap, config).start()
|
PypoPush(push_queue, liquidsoap, config).start()
|
||||||
|
|
||||||
StatsCollectorThread(config, legacy_client).start()
|
StatsCollectorThread(config, legacy_client).start()
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,7 @@ from ..config import CACHE_DIR, POLL_INTERVAL, Config
|
||||||
from ..liquidsoap.client import LiquidsoapClient
|
from ..liquidsoap.client import LiquidsoapClient
|
||||||
from ..liquidsoap.models import Info, MessageFormatKind, StreamPreferences, StreamState
|
from ..liquidsoap.models import Info, MessageFormatKind, StreamPreferences, StreamState
|
||||||
from .events import Events, FileEvent, FileEvents
|
from .events import Events, FileEvent, FileEvents
|
||||||
from .liquidsoap import PypoLiquidsoap
|
from .liquidsoap import Liquidsoap
|
||||||
from .schedule import get_schedule, receive_schedule
|
from .schedule import get_schedule, receive_schedule
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
@ -36,7 +36,7 @@ class PypoFetch(Thread):
|
||||||
push_queue: "Queue[Events]",
|
push_queue: "Queue[Events]",
|
||||||
file_queue: "Queue[FileEvents]",
|
file_queue: "Queue[FileEvents]",
|
||||||
liq_client: LiquidsoapClient,
|
liq_client: LiquidsoapClient,
|
||||||
pypo_liquidsoap: PypoLiquidsoap,
|
liquidsoap: Liquidsoap,
|
||||||
config: Config,
|
config: Config,
|
||||||
api_client: ApiClient,
|
api_client: ApiClient,
|
||||||
legacy_client: LegacyClient,
|
legacy_client: LegacyClient,
|
||||||
|
@ -53,7 +53,7 @@ class PypoFetch(Thread):
|
||||||
self.listener_timeout = POLL_INTERVAL
|
self.listener_timeout = POLL_INTERVAL
|
||||||
|
|
||||||
self.liq_client = liq_client
|
self.liq_client = liq_client
|
||||||
self.pypo_liquidsoap = pypo_liquidsoap
|
self.liquidsoap = liquidsoap
|
||||||
|
|
||||||
self.cache_dir = CACHE_DIR
|
self.cache_dir = CACHE_DIR
|
||||||
logger.debug("Cache dir %s", self.cache_dir)
|
logger.debug("Cache dir %s", self.cache_dir)
|
||||||
|
@ -88,12 +88,12 @@ class PypoFetch(Thread):
|
||||||
self.update_liquidsoap_transition_fade(message["transition_fade"])
|
self.update_liquidsoap_transition_fade(message["transition_fade"])
|
||||||
elif command == "switch_source":
|
elif command == "switch_source":
|
||||||
logger.info("switch_on_source show command received...")
|
logger.info("switch_on_source show command received...")
|
||||||
self.pypo_liquidsoap.telnet_liquidsoap.switch_source(
|
self.liquidsoap.telnet_liquidsoap.switch_source(
|
||||||
message["sourcename"], message["status"]
|
message["sourcename"], message["status"]
|
||||||
)
|
)
|
||||||
elif command == "disconnect_source":
|
elif command == "disconnect_source":
|
||||||
logger.info("disconnect_on_source show command received...")
|
logger.info("disconnect_on_source show command received...")
|
||||||
self.pypo_liquidsoap.telnet_liquidsoap.disconnect_source(
|
self.liquidsoap.telnet_liquidsoap.disconnect_source(
|
||||||
message["sourcename"]
|
message["sourcename"]
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
|
@ -130,22 +130,22 @@ class PypoFetch(Thread):
|
||||||
logger.debug("state: %s", state)
|
logger.debug("state: %s", state)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
self.pypo_liquidsoap.liq_client.settings_update(
|
self.liquidsoap.liq_client.settings_update(
|
||||||
station_name=info.station_name,
|
station_name=info.station_name,
|
||||||
message_format=preferences.message_format,
|
message_format=preferences.message_format,
|
||||||
message_offline=preferences.message_offline,
|
message_offline=preferences.message_offline,
|
||||||
input_fade_transition=preferences.input_fade_transition,
|
input_fade_transition=preferences.input_fade_transition,
|
||||||
)
|
)
|
||||||
|
|
||||||
self.pypo_liquidsoap.liq_client.source_switch_status(
|
self.liquidsoap.liq_client.source_switch_status(
|
||||||
name="master_dj",
|
name="master_dj",
|
||||||
streaming=state.input_main_streaming,
|
streaming=state.input_main_streaming,
|
||||||
)
|
)
|
||||||
self.pypo_liquidsoap.liq_client.source_switch_status(
|
self.liquidsoap.liq_client.source_switch_status(
|
||||||
name="live_dj",
|
name="live_dj",
|
||||||
streaming=state.input_show_streaming,
|
streaming=state.input_show_streaming,
|
||||||
)
|
)
|
||||||
self.pypo_liquidsoap.liq_client.source_switch_status(
|
self.liquidsoap.liq_client.source_switch_status(
|
||||||
name="scheduled_play",
|
name="scheduled_play",
|
||||||
streaming=state.schedule_streaming,
|
streaming=state.schedule_streaming,
|
||||||
)
|
)
|
||||||
|
@ -153,8 +153,8 @@ class PypoFetch(Thread):
|
||||||
except OSError as exception:
|
except OSError as exception:
|
||||||
logger.exception(exception)
|
logger.exception(exception)
|
||||||
|
|
||||||
self.pypo_liquidsoap.clear_all_queues()
|
self.liquidsoap.clear_all_queues()
|
||||||
self.pypo_liquidsoap.clear_queue_tracker()
|
self.liquidsoap.clear_queue_tracker()
|
||||||
|
|
||||||
def update_liquidsoap_stream_format(
|
def update_liquidsoap_stream_format(
|
||||||
self,
|
self,
|
||||||
|
@ -292,7 +292,7 @@ class PypoFetch(Thread):
|
||||||
# is playing tracks. In this case let's just restart everything from scratch
|
# is playing tracks. In this case let's just restart everything from scratch
|
||||||
# so that we can repopulate our dictionary that keeps track of what
|
# so that we can repopulate our dictionary that keeps track of what
|
||||||
# Liquidsoap is playing much more easily.
|
# Liquidsoap is playing much more easily.
|
||||||
self.pypo_liquidsoap.clear_all_queues()
|
self.liquidsoap.clear_all_queues()
|
||||||
|
|
||||||
self.set_bootstrap_variables()
|
self.set_bootstrap_variables()
|
||||||
|
|
||||||
|
|
|
@ -124,7 +124,7 @@ class TelnetLiquidsoap:
|
||||||
logger.exception(exception)
|
logger.exception(exception)
|
||||||
|
|
||||||
|
|
||||||
class PypoLiquidsoap:
|
class Liquidsoap:
|
||||||
def __init__(self, liq_client: LiquidsoapClient):
|
def __init__(self, liq_client: LiquidsoapClient):
|
||||||
self.liq_queue_tracker: Dict[int, Optional[FileEvent]] = {
|
self.liq_queue_tracker: Dict[int, Optional[FileEvent]] = {
|
||||||
0: None,
|
0: None,
|
||||||
|
|
|
@ -8,7 +8,7 @@ from typing import List, Tuple
|
||||||
|
|
||||||
from ..config import PUSH_INTERVAL, Config
|
from ..config import PUSH_INTERVAL, Config
|
||||||
from .events import AnyEvent, Events, FileEvent
|
from .events import AnyEvent, Events, FileEvent
|
||||||
from .liquidsoap import PypoLiquidsoap
|
from .liquidsoap import Liquidsoap
|
||||||
from .queue import PypoLiqQueue
|
from .queue import PypoLiqQueue
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
@ -21,7 +21,7 @@ class PypoPush(Thread):
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
push_queue: "Queue[Events]",
|
push_queue: "Queue[Events]",
|
||||||
pypo_liquidsoap: PypoLiquidsoap,
|
liquidsoap: Liquidsoap,
|
||||||
config: Config,
|
config: Config,
|
||||||
):
|
):
|
||||||
Thread.__init__(self)
|
Thread.__init__(self)
|
||||||
|
@ -30,9 +30,9 @@ class PypoPush(Thread):
|
||||||
self.config = config
|
self.config = config
|
||||||
|
|
||||||
self.future_scheduled_queue: "Queue[Events]" = Queue()
|
self.future_scheduled_queue: "Queue[Events]" = Queue()
|
||||||
self.pypo_liquidsoap = pypo_liquidsoap
|
self.liquidsoap = liquidsoap
|
||||||
|
|
||||||
self.plq = PypoLiqQueue(self.future_scheduled_queue, self.pypo_liquidsoap)
|
self.plq = PypoLiqQueue(self.future_scheduled_queue, self.liquidsoap)
|
||||||
self.plq.start()
|
self.plq.start()
|
||||||
|
|
||||||
def main(self) -> None:
|
def main(self) -> None:
|
||||||
|
@ -55,7 +55,7 @@ class PypoPush(Thread):
|
||||||
events
|
events
|
||||||
)
|
)
|
||||||
|
|
||||||
self.pypo_liquidsoap.verify_correct_present_media(currently_playing)
|
self.liquidsoap.verify_correct_present_media(currently_playing)
|
||||||
self.future_scheduled_queue.put(scheduled_for_future)
|
self.future_scheduled_queue.put(scheduled_for_future)
|
||||||
|
|
||||||
if loops % heartbeat_period == 0:
|
if loops % heartbeat_period == 0:
|
||||||
|
|
|
@ -7,7 +7,7 @@ from typing import Any, Dict
|
||||||
|
|
||||||
from ..utils import seconds_between
|
from ..utils import seconds_between
|
||||||
from .events import AnyEvent
|
from .events import AnyEvent
|
||||||
from .liquidsoap import PypoLiquidsoap
|
from .liquidsoap import Liquidsoap
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
@ -19,11 +19,11 @@ class PypoLiqQueue(Thread):
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
future_queue: "Queue[Dict[str, Any]]",
|
future_queue: "Queue[Dict[str, Any]]",
|
||||||
pypo_liquidsoap: PypoLiquidsoap,
|
liquidsoap: Liquidsoap,
|
||||||
):
|
):
|
||||||
Thread.__init__(self)
|
Thread.__init__(self)
|
||||||
self.queue = future_queue
|
self.queue = future_queue
|
||||||
self.pypo_liquidsoap = pypo_liquidsoap
|
self.liquidsoap = liquidsoap
|
||||||
|
|
||||||
def main(self) -> None:
|
def main(self) -> None:
|
||||||
time_until_next_play = None
|
time_until_next_play = None
|
||||||
|
@ -45,7 +45,7 @@ class PypoLiqQueue(Thread):
|
||||||
except Empty:
|
except Empty:
|
||||||
# Time to push a scheduled item.
|
# Time to push a scheduled item.
|
||||||
media_item = schedule_deque.popleft()
|
media_item = schedule_deque.popleft()
|
||||||
self.pypo_liquidsoap.play(media_item)
|
self.liquidsoap.play(media_item)
|
||||||
if len(schedule_deque):
|
if len(schedule_deque):
|
||||||
time_until_next_play = seconds_between(
|
time_until_next_play = seconds_between(
|
||||||
datetime.utcnow(),
|
datetime.utcnow(),
|
||||||
|
|
|
@ -5,10 +5,7 @@ from unittest.mock import MagicMock, patch
|
||||||
from dateutil.tz import tzutc
|
from dateutil.tz import tzutc
|
||||||
|
|
||||||
from libretime_playout.player.events import EventKind, FileEvent
|
from libretime_playout.player.events import EventKind, FileEvent
|
||||||
from libretime_playout.player.liquidsoap import (
|
from libretime_playout.player.liquidsoap import Liquidsoap, create_liquidsoap_annotation
|
||||||
PypoLiquidsoap,
|
|
||||||
create_liquidsoap_annotation,
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
@patch("libretime_playout.player.events.CACHE_DIR", Path("/fake"))
|
@patch("libretime_playout.player.events.CACHE_DIR", Path("/fake"))
|
||||||
|
@ -49,4 +46,4 @@ def test_create_liquidsoap_annotation():
|
||||||
|
|
||||||
|
|
||||||
def test_liquidsoap():
|
def test_liquidsoap():
|
||||||
PypoLiquidsoap(MagicMock())
|
Liquidsoap(MagicMock())
|
||||||
|
|
Loading…
Reference in New Issue