-
Notifications
You must be signed in to change notification settings - Fork 0
/
task_manager.py
65 lines (51 loc) · 1.51 KB
/
task_manager.py
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
63
64
65
class Task:
templates = []
def __init__(self, title: str):
self.title = title
self.description = ""
self.due_date = ""
self.start_date = ""
self.visible = True
self.labels = []
self.task_list = TaskList(self.title)
def save_template(self):
templates.append(self)
@classmethod
def from_template(cls, index):
if not templates:
print("No templates saved.")
return None
else:
return cls(templates[index].title)
pass
class TaskList:
templates = []
def __init__(self, title: str):
self.title = title
self.tasks = []
def add(self, title: str):
self.tasks.append(Task(title))
def remove(self, title: str):
for element in self.tasks:
if element.title == title:
self.tasks.remove(element)
break
else:
print("Task with title \"", title, "\" does not exist.")
def save_template(self):
templates.append(self)
@classmethod
def from_template(cls, index):
if not templates:
print("No saved templates.")
return None
else:
return cls(templates[index].title)
if __name__ == "__main__":
my_list = TaskList("my_list")
my_list.add("Do the dishes")
my_list.add("Walk the dog")
my_list.remove("Do the dishes")
my_list.remove("Feed the cat")
my_list.remove("Walk the dog")
my_list.remove("Feed the cat")