From 4610e06aa15ce64cafe1906eaa93adc06863e793 Mon Sep 17 00:00:00 2001
From: Robert Goldmann <deadlocker@gmx.de>
Date: Tue, 9 Feb 2021 21:30:00 +0100
Subject: [PATCH] SensorLineChartTile: Refactoring: externalized method

---
 src/logic/tile/tiles/SensorLineChartTile.py | 22 ++++++++++++---------
 1 file changed, 13 insertions(+), 9 deletions(-)

diff --git a/src/logic/tile/tiles/SensorLineChartTile.py b/src/logic/tile/tiles/SensorLineChartTile.py
index 5493459..1e83e71 100644
--- a/src/logic/tile/tiles/SensorLineChartTile.py
+++ b/src/logic/tile/tiles/SensorLineChartTile.py
@@ -61,15 +61,7 @@ class SensorLineChartTile(Tile):
                                           self.DATE_FORMAT)
         endDateTime = datetime.strftime(datetime.now(), self.DATE_FORMAT)
 
-        serviceSettings = {
-            'url': self._settings['url'],
-            'sensorID': self._settings['sensorID'],
-            'fetchType': 'all',
-            'startDateTime': startDateTime,
-            'endDateTime': endDateTime
-        }
-        cacheKey = f'{pageName}_{self._uniqueName}_all'
-        sensorData = storageLeafService.get_data(cacheKey, self._intervalInSeconds, serviceSettings)
+        sensorData = self.__get_sensor_data_from_service(endDateTime, pageName, startDateTime, storageLeafService)
 
         x, y = self._prepare_measurement_data(sensorData['sensorValue'])
         latestTime = datetime.strptime(x[-1], self.DATE_FORMAT) if x else self.DATETIME_UNIX_TIMESTAMP_START
@@ -98,6 +90,18 @@ class SensorLineChartTile(Tile):
             'latestTime': latestTime
         }
 
+    def __get_sensor_data_from_service(self, endDateTime, pageName, startDateTime, storageLeafService):
+        serviceSettings = {
+            'url': self._settings['url'],
+            'sensorID': self._settings['sensorID'],
+            'fetchType': 'all',
+            'startDateTime': startDateTime,
+            'endDateTime': endDateTime
+        }
+        cacheKey = f'{pageName}_{self._uniqueName}_all'
+        sensorData = storageLeafService.get_data(cacheKey, self._intervalInSeconds, serviceSettings)
+        return sensorData
+
     def _get_min_and_max(self, pageName: str, sensorType: Dict,
                          startDateTime: str, endDateTime: str,
                          storageLeafService: MultiCacheKeyService, y: List) -> Tuple[float, float]:
-- 
GitLab