from debuggable import Debuggable from datetime import datetime, timedelta import json class Schedule(Debuggable): start_at = datetime.now() end_at = datetime.now() content = {} name = "default" def __init__(self, start_at=None, end_at=None, content={}, name=None): super(Schedule, self).__init__() self.start_at = start_at self.end_at = end_at self.content = content self.name = name self.debug("new_schedules","New schedule: {}".format(self.to_string())) def elapsed(self): delta = datetime.now() - self.end_at if delta.total_seconds() > 0 : self.debug("schedule_elapsed_true","delta is {} for {}".format(delta, self.end_at.isoformat())) return True return False def to_string(self): return json.dumps({ "start_at": self.start_at.isoformat(), "end_at": self.end_at.isoformat(), "name": self.name, "content": self.content })