From ebe0e8debde2da07c8676ca605ba97b973076d2b Mon Sep 17 00:00:00 2001
From: David Trattnig <david.trattnig@o94.at>
Date: Fri, 28 Aug 2020 18:46:09 +0200
Subject: [PATCH] Fix playlog storage. engine-clock#1

---
 src/models.py  | 4 ++--
 src/service.py | 6 +++---
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/models.py b/src/models.py
index 8b710f0..d9225d0 100644
--- a/src/models.py
+++ b/src/models.py
@@ -94,8 +94,8 @@ class PlayLog(db.Model):
         db.session.commit()
         now = datetime.datetime.now()
         track = db.session.query(PlayLog).\
-            filter(PlayLog.track_start <= str(now)).\
-            order_by(PlayLog.track_start.desc()).first()
+            order_by(PlayLog.track_start.desc()).\
+            filter(PlayLog.track_start <= str(now)).first()
         
         if track:
             if track.track_start + datetime.timedelta(0,track.track_duration) > now:
diff --git a/src/service.py b/src/service.py
index bc65787..9b28ef8 100644
--- a/src/service.py
+++ b/src/service.py
@@ -150,9 +150,6 @@ class ApiService():
         if not data.log_source:
             data.log_source = self.config.get("host_id")
 
-        if self.config.get("enable_federation") == "false":
-            return
-
         # Main Node: Alway log entry, independed of the source
         # Sync Node: Only log entry when it's coming from an active source
         if self.node_type == NodeType.MAIN or \
@@ -165,6 +162,9 @@ class ApiService():
             except sqlalchemy.exc.IntegrityError as e:
                 self.logger.info("Playlog for '%s' is already existing in local database. Skipping..." % data.track_start)
 
+            if self.config.get("enable_federation") == "false":
+                return
+                
             # Main Node: Push to Sync Node, if enabled
             if self.node_type == NodeType.MAIN and self.sync_host and self.api_playlog:
                 try:
-- 
GitLab