HomeDashboard/.venv/lib/python3.12/site-packages/nicegui/persistence/read_only_dict.py
2026-01-03 14:54:18 +01:00

25 lines
732 B
Python

from collections.abc import Iterator, MutableMapping
from typing import Any
class ReadOnlyDict(MutableMapping):
def __init__(self, data: dict[Any, Any], write_error_message: str = 'Read-only dict') -> None:
self._data: dict[Any, Any] = data
self._write_error_message: str = write_error_message
def __getitem__(self, item: Any) -> Any:
return self._data[item]
def __setitem__(self, key: Any, value: Any) -> None:
raise TypeError(self._write_error_message)
def __delitem__(self, key: Any) -> None:
raise TypeError(self._write_error_message)
def __iter__(self) -> Iterator:
return iter(self._data)
def __len__(self) -> int:
return len(self._data)