"""Collection utilities — OrderedProperties. Ported from net.i2p.util.OrderedProperties. """ from collections import OrderedDict class OrderedProperties(OrderedDict): """Properties dict that maintains insertion order and sorts for iteration. When iterated (keys, items), returns entries sorted by key. """ def keys(self): return sorted(super().keys()) def items(self): return sorted(super().items(), key=lambda x: x[0]) def values(self): return [v for _, v in self.items()] def get_property(self, key: str, default: str = "") -> str: return self.get(key, default) def set_property(self, key: str, value: str) -> None: self[key] = value