-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathMedication.py
More file actions
43 lines (33 loc) · 1.25 KB
/
Medication.py
File metadata and controls
43 lines (33 loc) · 1.25 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
TimeList = list[str]
# might want to make restrictions a list of str?
class Medication:
def __init__(self, name: str, times: TimeList, chronic: bool, withFood: bool, doses: int, restrictions: str, anonymous: bool, message: str='', *unused, **unusedkw) -> None:
self.name = name
self.times = times
self.chronic = chronic
self.withFood = withFood
self.doses = doses
self.restrictions = restrictions
self.anonymous = anonymous
self.message = message
def addUID(self, uid: str) -> None:
self.uid = uid
self.user = uid
def addMessage(self, mes: str) -> None:
self.message = mes
def getDBFormat(self) -> dict:
myDict = vars(self).copy()
myDict["food"] = myDict.pop("withFood")
myDict["remDoses"] = myDict.pop("doses")
return myDict
def __repr__(self) -> str:
return (
f'Medication: {self.name}, {("chronic" if self.chronic else "")} \n'
f'Taken at {", ".join(self.times)} '
f'with {self.doses} dose(s) remaining'
)
MedicationList = list[Medication]
class Entry:
def __init__(self, number: str, meds: MedicationList) -> None:
self.number = number
self.meds = meds