From a9e906cc4241a6b99648fb1281947deb4eea875b Mon Sep 17 00:00:00 2001 From: Robert Goldmann <deadlocker@gmx.de> Date: Tue, 9 Feb 2021 20:42:27 +0100 Subject: [PATCH] SensorLineChartTile: Refactoring: calculate min/max and add spacing only at once --- src/logic/tile/tiles/SensorLineChartTile.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/logic/tile/tiles/SensorLineChartTile.py b/src/logic/tile/tiles/SensorLineChartTile.py index ad7255a..be013c6 100644 --- a/src/logic/tile/tiles/SensorLineChartTile.py +++ b/src/logic/tile/tiles/SensorLineChartTile.py @@ -112,12 +112,12 @@ class SensorLineChartTile(Tile): # prevent fetching min/max from StorageLeaf as this would consume a lot of time due to huge timespans if self._settings['showAxes']: yValues = [float(item) for item in y] - if yValues: - return min(0.0, min(yValues)), max(yValues) + self.MAX_Y_AXIS_SPACING - else: - return 0, 0 + self.MAX_Y_AXIS_SPACING - - return self.__get_min_max_from_service(pageName, startDateTime, endDateTime, storageLeafService) + minValue = min(yValues, default=0) + maxValue = max(yValues, default=0) + else: + minValue, maxValue = self.__get_min_max_from_service(pageName, startDateTime, endDateTime, + storageLeafService) + return min(0, minValue), maxValue + self.MAX_Y_AXIS_SPACING def __get_min_max_from_service(self, pageName: str, startDateTime: str, endDateTime: str, storageLeafService: MultiCacheKeyService): @@ -132,7 +132,7 @@ class SensorLineChartTile(Tile): cacheKey = f'{pageName}_{self._uniqueName}_minMax' minMaxData = storageLeafService.get_data(cacheKey, self._intervalInSeconds, minMaxSettings) LOGGER.debug(f'Received min/max: {minMaxData} for sensorIDs: {self._settings["sensorIDsForMinMax"]}') - return min(0, minMaxData['min'] or 0), (minMaxData['max'] or 0) + self.MAX_Y_AXIS_SPACING + return minMaxData.get('min', 0) or 0, minMaxData.get('max', 0) or 0 def __prepare_measurement_data(self, measurements: List[Dict]) -> Tuple[List[str], List[str]]: x = [] -- GitLab