fix: use gui start/end time instead of first/last data entry for dwd timeframe selection

This commit is contained in:
2024-03-05 21:19:43 +01:00
parent 53391fecd5
commit fa1a5abd04
2 changed files with 12 additions and 7 deletions

View File

@@ -176,7 +176,7 @@ def processExternalData(datapoints, plotNameKey, fromTime, toTime, dtype, qtText
def read_in_file(path, backend=None, outsideData=False, plotOutsideTemp=True, def read_in_file(path, backend=None, outsideData=False, plotOutsideTemp=True,
plotOutsideHum=True, qtTextBrowser=None): plotOutsideHum=True, qtTextBrowser=None, fromTime=None, toTime=None):
'''Read in a file, add outside data if requested, optionally give a QtTextBrowser '''Read in a file, add outside data if requested, optionally give a QtTextBrowser
to output information, warnings and errors to.''' to output information, warnings and errors to.'''
@@ -237,8 +237,9 @@ def read_in_file(path, backend=None, outsideData=False, plotOutsideTemp=True,
# if nessesary download and process external data # # if nessesary download and process external data #
if outsideData: if outsideData:
fromTime = datapoints[CFG("plot_temperatur_key")].getFirstTime() # removed in favor of parameter passed selected time from gui #
toTime = datapoints[CFG("plot_temperatur_key")].getLastTime() #fromTime = datapoints[CFG("plot_temperatur_key")].getFirstTime()
#toTime = datapoints[CFG("plot_temperatur_key")].getLastTime()
dtypeTemp = CFG("dtype_temperatur") dtypeTemp = CFG("dtype_temperatur")
dtypeHum = CFG("dtype_humidity") dtypeHum = CFG("dtype_humidity")

View File

@@ -170,13 +170,20 @@ class WidgetGallery(QDialog):
# workaround for checkboxes changed # # workaround for checkboxes changed #
outsideDataNeeded = self.boxOTemp.isChecked() or self.boxOHumidity.isChecked() outsideDataNeeded = self.boxOTemp.isChecked() or self.boxOHumidity.isChecked()
# read time early to use for external file #
zeroTime = dt.time(0, 0)
endDateTime = dt.datetime.combine(self.endDateEdit.date().toPyDate(), zeroTime)
startDateTime = dt.datetime.combine(self.startDateEdit.date().toPyDate(), zeroTime)
# build dates # # build dates #
try: try:
self.datapoints = input_backend.read_in_file(self.srcFileString, self.datapoints = input_backend.read_in_file(self.srcFileString,
outsideData=outsideDataNeeded, outsideData=outsideDataNeeded,
plotOutsideTemp=self.boxOTemp.isChecked(), plotOutsideTemp=self.boxOTemp.isChecked(),
plotOutsideHum=self.boxOHumidity.isChecked(), plotOutsideHum=self.boxOHumidity.isChecked(),
qtTextBrowser=self.infoTextBox) qtTextBrowser=self.infoTextBox,
fromTime=startDateTime,
toTime=endDateTime)
startTimeHelper = dt.datetime.strptime(self.startTimeEdit.text(),"%H:%M") startTimeHelper = dt.datetime.strptime(self.startTimeEdit.text(),"%H:%M")
endTimeHelper = dt.datetime.strptime(self.endTimeEdit.text(),"%H:%M") endTimeHelper = dt.datetime.strptime(self.endTimeEdit.text(),"%H:%M")
@@ -193,10 +200,7 @@ class WidgetGallery(QDialog):
startTimeOffset = dt.timedelta(hours=startTimeHelper.hour, minutes=startTimeHelper.minute) startTimeOffset = dt.timedelta(hours=startTimeHelper.hour, minutes=startTimeHelper.minute)
endTimeOffset = dt.timedelta(hours=endTimeHelper.hour, minutes=endTimeHelper.minute) endTimeOffset = dt.timedelta(hours=endTimeHelper.hour, minutes=endTimeHelper.minute)
zeroTime = dt.time(0, 0)
startDateTime = dt.datetime.combine(self.startDateEdit.date().toPyDate(), zeroTime)
startDateTime += startTimeOffset startDateTime += startTimeOffset
endDateTime = dt.datetime.combine(self.endDateEdit.date().toPyDate(), zeroTime)
endDateTime += endTimeOffset endDateTime += endTimeOffset
try: try: