-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtask.py
More file actions
81 lines (64 loc) · 1.48 KB
/
Copy pathtask.py
File metadata and controls
81 lines (64 loc) · 1.48 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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
import uuid
import enum
class State(enum.IntEnum):
"""
Enum for Task State
"""
unprocessed = 0
done = 1
class Priority(enum.IntEnum):
"""
Enum for Task Priority
"""
none = 0
low = 1
medium = 2
high = 3
def find_priority(priority_number):
"""
Finds Priority for a given Integer
Returns a Priority
priority_number: int
"""
for i in Priority:
if i.value == priority_number:
return i
class Task:
"""
Task Object contains members:
name, id, project, state, priority, notes122
can be constructed with 'Task(name: str, project: Project)'
"""
def __init__(
self, name, project, state=State.unprocessed, priority=Priority.none
):
self.name = name
self.id = uuid.uuid4()
self.project = project
self.state = state
self.priority = priority
self.notes = ""
def do_task(self):
"""
set Task State to 'done'
"""
self.state = State.done
def undo_task(self):
"""
set Task State to 'unprocessed'
"""
self.state = State.unprocessed
def __str__(self):
"""
Returns a String with the Task information
"""
return str(
"Task Name"
+ self.name
+ " State:"
+ str(self.state)
+ " Piority: "
+ str(self.priority)
+ " Notes: "
+ self.notes
)