from models.model import Model class Tab(Model): def __init__(self): super().__init__() def create(self, name="", names=None, presets=None): next_id = self.get_next_id() self[next_id] = { "name": name, "names": names if names else [], "presets": presets if presets else [], "default_preset": None } self.save() return next_id def read(self, id): id_str = str(id) return self.get(id_str, None) def update(self, id, data): id_str = str(id) if id_str not in self: return False self[id_str].update(data) self.save() return True def delete(self, id): id_str = str(id) if id_str not in self: return False self.pop(id_str) self.save() return True def list(self): return list(self.keys())