34 lines
1019 B
Python
34 lines
1019 B
Python
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
|
|
})
|
|
|