Date deduction works now
This commit is contained in:
parent
72e10385da
commit
c06cbc71c4
3 changed files with 32 additions and 0 deletions
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
__pycache__/
|
5
chat.py
Normal file
5
chat.py
Normal file
|
@ -0,0 +1,5 @@
|
|||
|
||||
class Chat(object):
|
||||
def __init__(self, ident):
|
||||
self.id = ident
|
||||
self.tasks = []
|
26
task.py
Normal file
26
task.py
Normal file
|
@ -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))
|
Loading…
Reference in a new issue