diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c18dd8d --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +__pycache__/ diff --git a/chat.py b/chat.py new file mode 100644 index 0000000..e5c9d22 --- /dev/null +++ b/chat.py @@ -0,0 +1,5 @@ + +class Chat(object): + def __init__(self, ident): + self.id = ident + self.tasks = [] diff --git a/task.py b/task.py new file mode 100644 index 0000000..c9a66d2 --- /dev/null +++ b/task.py @@ -0,0 +1,26 @@ + +from datetime import datetime, timedelta +from calendar import monthrange + +class Task(object): + def __init__(self, name, repeat=0, hour=0, day=0, month=0, year=0): + self.name = name + self.repeat = repeat + self.setDate(hour, day, month, year) + + def setDate(self, h, d, m, y): + date = datetime.now() + date.replace(year=max(date.year, y)) + + if m > 0 and datetime.now() > datetime(date.year, m, date.day): + date.replace(year=(date.year+1)) + date.replace(month=max(date.month, m)) + + if d > 0 and datetime.now() > datetime(date.year, date.month, d): + _, delta = monthrange(date.year, date.month) + date += timedelta(delta) # Days of date.month + date.replace(day=max(date.day, d)) + + if h > 0 and datetime.now() > datetime(date.year, date.month, date.day, h): + date += timedelta(1) + self.date = datetime(date.year, date.month, date.day, max(date.hour, h))