This repository was archived by the owner on Dec 20, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathchat.py
More file actions
62 lines (56 loc) · 1.74 KB
/
chat.py
File metadata and controls
62 lines (56 loc) · 1.74 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
from task import *
class Chat(object):
def __init__(self, ident, name):
self.id = ident
self.tasks = {}
self.name = name
def addTask(self, name, repeat=0, hour=0, day=0, month=0, year=0):
t = Task(name, repeat, hour, day, month, year)
if name in self.tasks:
raise ValueError('duplicate key "' + name + '" found')
self.tasks[name] = t
print('new task ' + t.name + ' added:')
print(str(t) + '\n')
return t
def getTasksRange(self, d=0, m=0, y=0, d2=0, m2=0, y2=0):
dateNow = datetime.now()
if y == 0:
y = dateNow.year
if m == 0:
m = dateNow.month
if d == 0:
d = dateNow.day
if y2 == 0:
y2 = dateNow.year
if m2 == 0:
m2 = dateNow.month
if d2 == 0:
d2 = dateNow.day
dateIni = datetime(y, m, d)
dateEnd = datetime(y2, m2, d2, 23)
resultTasks = []
for t in self.tasks:
task = self.tasks[t]
print(task)
if task.getDate() >= dateIni and task.getDate() <= dateEnd:
resultTasks.append(task)
return resultTasks
def getTasks(self):
resultTasks = []
for _, v in self.tasks.items():
resultTasks.append(v)
return resultTasks
def deleteTask(self, name):
if name in self.tasks:
del self.tasks[name]
return True
return False
def markDone(self, name):
if name in self.tasks:
t = self.tasks[name]
if t.repeat > 0:
t.date += timedelta(t.repeat)
else:
del self.tasks[name]
return True
return False