def validateEndingTime(self): if self.beginningTime.hasAcceptableInput() and self.endingTime.hasAcceptableInput(): start = parseDateTime(self.beginningTime.text()) end = parseDateTime(self.endingTime.text()) if end <= start: self.endingTime.clear() logger.debug('Ending time must be greater than the beginning time') if end - start > datetime.timedelta(hours=self.duration): self.endingTime.clear() logger.debug('Valid period more than {} hours'.format(self.duration))
def validateObsTime(self): if self.beginningTime.hasAcceptableInput() and self.obsTime.hasAcceptableInput(): start = parseDateTime(self.beginningTime.text()) obs = parseTime(self.obsTime.text()) if obs > start: self.obsTime.clear() logger.debug('Observation time should before the beginning time')
def setForecastTime(self, text): if len(text) != 6: return time = parseDateTime(text) time = time - datetime.timedelta(minutes=time.minute) fcstTime = time.strftime('%H%M') self.forecastTime.setText(fcstTime)
def expire(self): import re from tafor.utils.convert import parseDateTime pattern = re.compile(r'(\d{6})/(\d{6})') endingTime = pattern.search(self.rpt).group(2) return parseDateTime(endingTime, self.sent)
def updateState(self): date = self.primary.date.text() self.time = parseDateTime(date) self.setWindowTitle(self.time.strftime('%Y-%m-%d %H:%M')) self.setNormalPeriod(isTask=True) self.periods = self.periodDuration()