Coverage for src/blob_dict/dict/text_file.py: 0%

29 statements  

« prev     ^ index     » next       coverage.py v7.7.0, created at 2025-03-21 07:53 -0700

1from . import BlobDictBase 

2 

3 

4class TextFileBlobDictBase(BlobDictBase): 

5 def __init__( 

6 self, 

7 data_dict: dict[str, BytesBlob] | None = None, 

8 ) -> None: 

9 super().__init__() 

10 

11 self.__dict: dict[str, BytesBlob] = {} if data_dict is None else data_dict 

12 

13 @override 

14 def __len__(self) -> int: 

15 return len(self.__dict) 

16 

17 @override 

18 def __contains__(self, key: str) -> bool: 

19 return key in self.__dict 

20 

21 @override 

22 def get(self, key: str, default: BytesBlob | None = None) -> BytesBlob | None: 

23 return self.__dict.get(key, default) 

24 

25 @override 

26 def __iter__(self) -> Iterator[str]: 

27 yield from ( 

28 key for key in self.__dict 

29 ) 

30 

31 @override 

32 def clear(self) -> None: 

33 self.__dict.clear() 

34 

35 @override 

36 def pop(self, key: str, default: BytesBlob | None = None) -> BytesBlob | None: 

37 return self.__dict.pop(key, default) 

38 

39 @override 

40 def __delitem__(self, key: str) -> None: 

41 del self.__dict[key] 

42 

43 @override 

44 def __setitem__(self, key: str, blob: BytesBlob) -> None: 

45 self.__dict[key] = blob