Coverage for tdom / utils.py: 93%
15 statements
« prev ^ index » next coverage.py v7.13.0, created at 2025-12-17 23:32 +0000
« prev ^ index » next coverage.py v7.13.0, created at 2025-12-17 23:32 +0000
1from collections import OrderedDict
2from string.templatelib import Template
5class LastUpdatedOrderedDict(OrderedDict):
6 "Store items in the order the keys were last updated."
8 def __setitem__(self, key, value):
9 super().__setitem__(key, value)
10 self.move_to_end(key)
13class CachableTemplate:
14 template: Template
16 # CONSIDER: what about interpolation format specs, convsersions, etc.?
18 def __init__(self, template: Template) -> None:
19 self.template = template
21 def __eq__(self, other: object) -> bool:
22 if not isinstance(other, CachableTemplate):
23 return NotImplemented
24 return self.template.strings == other.template.strings
26 def __hash__(self) -> int:
27 return hash(self.template.strings)