diff --git a/lib/DataStore.py b/lib/DataStore.py new file mode 100644 index 0000000..f75708c --- /dev/null +++ b/lib/DataStore.py @@ -0,0 +1,29 @@ +from pathlib import Path +from .TimeSlot import TimeSlot +import json + + +class DataStore: + def __init__(self, filename: Path, create=False): + self._filename = filename + if create: + self._time_slots = [] + self._write_update() + else: + with open(self._filename, "r") as f: + self._time_slots = list(json.load(f)) + + def _write_update(self): + with open(self._filename, "w+") as f: + json.dump(self._time_slots, f, default=vars) + + def add_time_slot(self, time_slot: TimeSlot): + self._time_slots.append(time_slot) + self._write_update() + + def remove_time_slot(self, time_slot: TimeSlot): + self._time_slots.remove(time_slot) + self._write_update() + + def get_all_time_slots(self): + return self._time_slots[:]