Files
vaiola/modules/shared/SetsDict.py
bsakaguchi 3a88bdad3a Harden image fetch algorithm
Prepare for database integration
2025-09-24 20:07:19 +07:00

26 lines
706 B
Python

class SetsDict:
def __init__(self):
self._data: dict[str, set] = dict()
def add(self, key, value):
if key not in self._data: self._data[key] = set()
if value not in self._data[key]: self._data[key].add(value)
def delete(self, key, value):
if self._data.get(key, None): self._data[key].remove(value)
@property
def index(self):
res = set()
for key, collection in self._data.items():
for elem in collection:
if elem not in res:
res.add(elem)
return res
def by_key(self, key):
return self._data.get(key, None)
@property
def keys(self): return self._data.keys()