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[:]