adding persistence

This commit is contained in:
2024-06-13 10:10:34 +02:00
parent 14a85658bb
commit b4e389c106

29
lib/DataStore.py Normal file
View File

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