def set_stations_in_scheduler_off(): """Stoping selected station in scheduler.""" current_time = datetime.datetime.now() check_start = current_time - datetime.timedelta(days=1) check_end = current_time + datetime.timedelta(days=1) # In manual mode we cannot predict, we only know what is currently running and the history if options.manual_mode: active = log.finished_runs() + log.active_runs() else: active = combined_schedule(check_start, check_end) ending = False # active stations for entry in active: for used_stations in tank_options[ 'used_stations']: # selected stations for stoping if entry[ 'station'] == used_stations: # is this station in selected stations? log.finish_run(entry) # save end in log stations.deactivate(entry['station']) # stations to OFF ending = True if ending: log.info(NAME, _(u'Stoping stations in scheduler'))
def GET(self): qdict = web.input() data = [] if 'date' in qdict: # date parameter filters the log values returned; "yyyy-mm-dd" format date = datetime.datetime.strptime(qdict['date'], "%Y-%m-%d").date() check_start = datetime.datetime.combine(date, datetime.time.min) check_end = datetime.datetime.combine(date, datetime.time.max) log_start = check_start - datetime.timedelta(days=1) log_end = check_end + datetime.timedelta(days=1) events = scheduler.combined_schedule(log_start, log_end) for interval in events: # Return only records that are visible on this day: if check_start <= interval['start'] <= check_end or check_start <= interval['end'] <= check_end: data.append(self._convert(interval)) web.header('Content-Type', 'application/json') return json.dumps(data)