From 27aac36eaad77f2b5e69a00db0dfaead9942a586 Mon Sep 17 00:00:00 2001
From: David Trattnig <david.trattnig@o94.at>
Date: Thu, 4 Jun 2020 21:10:35 +0200
Subject: [PATCH] Small improvements for fallback storage.

---
 modules/scheduling/calendar.py         | 6 +++++-
 modules/scheduling/calender_fetcher.py | 4 ++--
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/modules/scheduling/calendar.py b/modules/scheduling/calendar.py
index 75d7097e..2d0e184b 100644
--- a/modules/scheduling/calendar.py
+++ b/modules/scheduling/calendar.py
@@ -135,7 +135,7 @@ class AuraCalendarService(threading.Thread):
                 schedule_db = self.store_schedule(schedule)
 
                 # Store playlists to play
-                self.store_playlist(schedule_db, schedule_db.playlist_id, schedule["playlist"])
+                self.store_playlist(schedule_db, schedule_db.playlist_id, schedule["playlist"], 0)
                 if schedule_db.schedule_fallback_id:
                     self.store_playlist(schedule_db, schedule_db.schedule_fallback_id, schedule["schedule_fallback"], 1)
                 if schedule_db.show_fallback_id:
@@ -208,6 +208,10 @@ class AuraCalendarService(threading.Thread):
         """
         Stores the Playlist to the database.
         """
+        if not playlist_id or not fetched_playlist:
+            self.logger.warn("Cannot store invalid playlist with ID '%s'!" % playlist_id)
+            return
+            
         playlist_db = Playlist.select_playlist_for_schedule(schedule_db.schedule_start, playlist_id)
         havetoadd = False
 
diff --git a/modules/scheduling/calender_fetcher.py b/modules/scheduling/calender_fetcher.py
index e75f78e6..0d54a13a 100644
--- a/modules/scheduling/calender_fetcher.py
+++ b/modules/scheduling/calender_fetcher.py
@@ -207,9 +207,9 @@ class CalendarFetcher:
 
                 # If Steering doesn't provide a station fallback, the local one is used
                 if not schedule["station_fallback"] and int(local_station_fallback_id) > 0:
-                    schedule["station_fallback"]  = self.__fetch_schedule_playlist__(schedule, local_station_fallback_id,  fetched_entries)
+                    schedule["station_fallback"]  = self.__fetch_schedule_playlist__(schedule, local_station_fallback_id, fetched_entries)
                     if schedule["station_fallback"]:
-                        self.logger.info("Set station fallback to playlist #%s" % local_station_fallback_id)
+                        self.logger.info("Assigned playlist #%s as local station fallback" % local_station_fallback_id)
 
         except Exception as e:
             self.logger.error("Error while fetching playlists from API endpoints: " + str(e), e)
-- 
GitLab