Coverage for tarjinja/dictio.py: 100%

20 statements  

« prev     ^ index     » next       coverage.py v7.16.0, created at 2026-09-05 14:24 +0000

1import time 

2from collections.abc import Generator 

3from logging import getLogger 

4 

5from .iface import Input, Output 

6 

7log = getLogger(__name__) 

8 

9 

10class MemInput(Input, dict): 

11 def __init__(self, fn: str): 

12 super().__init__(fn) 

13 self.mode = 0o644 

14 self.ts = time.time() 

15 

16 def walk(self) -> Generator[tuple[str, int, float], None, None]: 

17 for k in self.keys(): 

18 yield k, self.mode, self.ts 

19 

20 def readfile(self, fn: str) -> str: 

21 return self.get(fn) 

22 

23 

24class MemOutput(Output, dict): 

25 def __init__(self, fn: str): 

26 super().__init__(fn) 

27 

28 def writefile(self, fn: str, content: str, mode: int, ts: float | None = None): 

29 self[fn] = content