From 34a76cbc166d5a07fe6fa9edf19a55f762b98a14 Mon Sep 17 00:00:00 2001
From: David Trattnig <david.trattnig@o94.at>
Date: Fri, 26 Jun 2020 17:58:16 +0200
Subject: [PATCH] Wireup active source, fixes.

---
 src/rest/controllers/internal_controller.py | 10 +++++++---
 src/rest/controllers/public_controller.py   |  3 ++-
 src/service.py                              | 10 +++++-----
 3 files changed, 14 insertions(+), 9 deletions(-)

diff --git a/src/rest/controllers/internal_controller.py b/src/rest/controllers/internal_controller.py
index 8802e36..41a73da 100644
--- a/src/rest/controllers/internal_controller.py
+++ b/src/rest/controllers/internal_controller.py
@@ -1,6 +1,8 @@
 import connexion
 import six
 
+from flask import current_app
+
 from src.rest.models.clock_info import ClockInfo  # noqa: E501
 from src.rest.models.health_log import HealthLog  # noqa: E501
 from src.rest.models.inline_response400 import InlineResponse400  # noqa: E501
@@ -21,7 +23,7 @@ def add_playlog(body):  # noqa: E501
     if connexion.request.is_json:
         body = PlayLog.from_dict(connexion.request.get_json())  # noqa: E501
     service = current_app.config['SERVICE']
-    service.store_playlog(body)
+    return service.store_playlog(body)
 
 
 def clock_info():  # noqa: E501
@@ -43,7 +45,8 @@ def get_active_source():  # noqa: E501
 
     :rtype: int
     """
-    return 'do some magic!'
+    service = current_app.config['SERVICE']
+    return service.get_active_source()
 
 
 def get_report(year_month):  # noqa: E501
@@ -116,4 +119,5 @@ def set_active_source(number):  # noqa: E501
 
     :rtype: None
     """
-    return 'do some magic!'
+    service = current_app.config['SERVICE']
+    return service.set_active_source(number)
diff --git a/src/rest/controllers/public_controller.py b/src/rest/controllers/public_controller.py
index bc83347..43328ca 100644
--- a/src/rest/controllers/public_controller.py
+++ b/src/rest/controllers/public_controller.py
@@ -1,10 +1,11 @@
 import connexion
 import six
 
+from flask import current_app
+
 from src.rest.models.play_log import PlayLog  # noqa: E501
 from src.rest import util
 
-from flask import current_app
 
 def current_track():  # noqa: E501
     """Get current track
diff --git a/src/service.py b/src/service.py
index a3152bd..1852fdc 100644
--- a/src/service.py
+++ b/src/service.py
@@ -21,7 +21,7 @@ import datetime
 import requests
 
 from enum import Enum
-from models import PlayLog, PlayLogSchema, TrackSchema
+from models import PlayLog, PlayLogSchema, TrackSchema, ActivityLog
 
 
 class NodeType(Enum):
@@ -78,14 +78,14 @@ class ApiService():
                 msg = "Pushing data to '%s'" % (self.sync_host)
 
         # Set active source
-        self.active_source = ActivityLog.get_active_source()
+        self.active_source = ActivityLog.get_active_source().source_number
         if not self.active_source:
             if self.node_type == NodeType.MAIN:
                 source_number = self.config.get("host_id")
             else:
                 source_number = self.config.get("default_source")
             self.set_active_source(source_number)
-        self.logger("Active source: %s" % self.active_source)
+        self.logger.info("Active source: %s" % self.active_source)
 
         self.logger.info("Running in '%s' mode. %s." % (self.node_type, msg))
 
@@ -190,10 +190,10 @@ class ApiService():
         Args:
             source_number (Integer): Number of the engine
         """
-        if self.active_source > 0:
+        if source_number > 0:
             if self.active_source != source_number:
                 self.active_source = source_number
-                activity_log = ActivityLog(active_source)
+                activity_log = ActivityLog(source_number)
                 activity_log.save()
 
 
-- 
GitLab