BUG Fix: timeSerie: exacte tijd werd naar boven afgerond
This commit is contained in:
24
lmwsip.py
24
lmwsip.py
@@ -286,6 +286,15 @@ Returns a single string value or None
|
|||||||
m = (window.seconds % 3600)//60
|
m = (window.seconds % 3600)//60
|
||||||
return("+%02i:%02i" % (h, m))
|
return("+%02i:%02i" % (h, m))
|
||||||
|
|
||||||
|
def _roundtime_(self, time, parameter):
|
||||||
|
if time.microsecond != 0:
|
||||||
|
time += timedelta(microseconds=1000000-time.microsecond)
|
||||||
|
if time.second != 0:
|
||||||
|
time += timedelta(seconds=60-time.second)
|
||||||
|
if (parameter.find("10") != -1) and (time.minute % 10 != 0):
|
||||||
|
time += timedelta(minutes=(10-time.minute%10))
|
||||||
|
return(time)
|
||||||
|
|
||||||
def timeSerie(self, process, location, parameter,
|
def timeSerie(self, process, location, parameter,
|
||||||
startTime, endTime, cmd_type="DATB"):
|
startTime, endTime, cmd_type="DATB"):
|
||||||
"""timeSerie(process, location, parameter, startTime, endTime, cmd_type="DATA")
|
"""timeSerie(process, location, parameter, startTime, endTime, cmd_type="DATA")
|
||||||
@@ -314,30 +323,33 @@ Errors:
|
|||||||
endTime - startTime > 24 hour
|
endTime - startTime > 24 hour
|
||||||
now - startTime < 30 days
|
now - startTime < 30 days
|
||||||
"""
|
"""
|
||||||
startTime = startTime.astimezone(tz.gettz('GMT+1'))
|
startTime = self._roundtime_(startTime.astimezone(tz.gettz('GMT+1')), parameter)
|
||||||
endTime = endTime.astimezone(tz.gettz('GMT+1'))
|
endTime = endTime.astimezone(tz.gettz('GMT+1'))
|
||||||
|
|
||||||
startTime += timedelta(microseconds=1000000-startTime.microsecond)
|
|
||||||
startTime += timedelta(seconds=60-startTime.second)
|
|
||||||
if (parameter.find("10") != -1):
|
if (parameter.find("10") != -1):
|
||||||
if startTime.minute % 10 != 0:
|
|
||||||
delta = timedelta(minutes=10)
|
delta = timedelta(minutes=10)
|
||||||
startTime += timedelta(minutes=(10-startTime.minute%10))
|
|
||||||
else:
|
else:
|
||||||
delta = timedelta(minutes=1)
|
delta = timedelta(minutes=1)
|
||||||
|
|
||||||
if startTime > endTime:
|
if startTime > endTime:
|
||||||
|
self.log.warn("starttime > endtime: %s > %s", startTime, endTime)
|
||||||
raise sipTimeSeriesError(startTime, endTime,
|
raise sipTimeSeriesError(startTime, endTime,
|
||||||
"starttime > endtime")
|
"starttime > endtime")
|
||||||
|
|
||||||
if datetime.now(tz=tz.gettz('GMT+1')) - startTime > timedelta(days=30):
|
if datetime.now(tz=tz.gettz('GMT+1')) - startTime > timedelta(days=30):
|
||||||
|
self.log.warn("now() - starttime > 30 days: %s", startTime)
|
||||||
raise sipTimeSeriesError(startTime, endTime,
|
raise sipTimeSeriesError(startTime, endTime,
|
||||||
"now - starttime > 30 days")
|
"now - starttime > 30 days")
|
||||||
|
|
||||||
|
self.log.debug("LmwSip.timeSerie: startTime: %s" % startTime)
|
||||||
|
self.log.debug("LmwSip.timeSerie: endTime: %s" % endTime)
|
||||||
|
|
||||||
if process == "VW":
|
if process == "VW":
|
||||||
cmd_type="DATA"
|
cmd_type="DATA"
|
||||||
|
|
||||||
res = lmwTimeSerie(startTime, delta, "")
|
res = lmwTimeSerie(startTime, delta, "")
|
||||||
|
|
||||||
while startTime < endTime:
|
while startTime <= endTime:
|
||||||
if endTime - startTime > timedelta(days=1):
|
if endTime - startTime > timedelta(days=1):
|
||||||
window = timedelta(days=1) - delta
|
window = timedelta(days=1) - delta
|
||||||
else:
|
else:
|
||||||
|
Reference in New Issue
Block a user