diff --git a/libraries/database/broadcasts.py b/libraries/database/broadcasts.py index 605b54ab024e34c6f1235a8dea54cae3aa63b31f..b110830906ba2e20862352efb62a0ace2f488a2b 100644 --- a/libraries/database/broadcasts.py +++ b/libraries/database/broadcasts.py @@ -40,7 +40,7 @@ from sqlalchemy import create_engine from modules.base.enum import Channel, ChannelType from modules.base.config import AuraConfig -from modules.base.simpleutil import SimpleUtil, EngineUtil +from modules.base.utils import SimpleUtil, EngineUtil # Init Config diff --git a/modules/base/simpleutil.py b/modules/base/utils.py similarity index 100% rename from modules/base/simpleutil.py rename to modules/base/utils.py diff --git a/modules/communication/liquidsoap/client.py b/modules/communication/liquidsoap/client.py index 3595de0f36b9af84f5c3ef1aaa4588695c5c1638..76151f9a3bd8f0669bef442a40b159eb96e1b9cb 100644 --- a/modules/communication/liquidsoap/client.py +++ b/modules/communication/liquidsoap/client.py @@ -30,7 +30,7 @@ import logging from multiprocessing import Lock from modules.base.exceptions import LQConnectionError -from modules.base.simpleutil import TerminalColors +from modules.base.utils import TerminalColors """ LiquidSoapClient Class diff --git a/modules/scheduling/calender_fetcher.py b/modules/scheduling/calender_fetcher.py index 7bd3e3c7d533cc3f4aeca19248706386f05556c6..814f8a038ea66df4f08e23e797edb327af5d900a 100644 --- a/modules/scheduling/calender_fetcher.py +++ b/modules/scheduling/calender_fetcher.py @@ -6,7 +6,7 @@ import simplejson from datetime import datetime, timedelta #from modules.models.schedule import Schedule -from modules.base.simpleutil import SimpleUtil +from modules.base.utils import SimpleUtil class CalendarFetcher: diff --git a/modules/scheduling/fallback_manager.py b/modules/scheduling/fallback_manager.py index 83fd5ffdc5c0b84d2950fa13177e39cf0865efac..5000e148f13a021a1bef91caefa75328c48b424a 100644 --- a/modules/scheduling/fallback_manager.py +++ b/modules/scheduling/fallback_manager.py @@ -36,7 +36,8 @@ import random import librosa from accessify import private, protected -from modules.base.simpleutil import SimpleUtil +from modules.base.enum import FallbackType +from modules.base.utils import SimpleUtil from modules.communication.mail import AuraMailer @@ -83,6 +84,40 @@ class FallbackManager: # + def get_fallback(self, schedule, type): + """ + Checks if the given schedule is valid and returns a valid fallback + if required. + """ + type = None + playlist_id = schedule.playlist_id + + if not schedule.playlist_id: + if not schedule.show_fallback_id: + if not schedule.schedule_fallback_id: + if not schedule.station_fallback_id: + raise Exception + else: + type = FallbackType.STATION + playlist_id = schedule.station_fallback_id + else: + type = FallbackType.TIMESLOT + playlist_id = schedule.schedule_fallback_id + else: + type = FallbackType.SHOW + playlist_id = schedule.show_fallback_id + + if type: + self.logger.warn("Detected fallback type '%s' required for schedule %s" % (type, str(schedule))) + + + return (type, playlist_id) + + + def validate_playlist(self, playlist_id): + pass + + def get_fallback_for(self, fallbackname): """ Retrieves a random fallback audio source for any of the types: