added package structure

This commit is contained in:
2021-09-08 14:04:00 +02:00
parent 583f618016
commit f8cd002cb0
8 changed files with 8 additions and 4 deletions

22
bstrd/ltddict.py Normal file
View File

@ -0,0 +1,22 @@
from collections import OrderedDict
class LimitedDict(OrderedDict):
def __init__(self, *args, maxlen=None, **kwargs):
super().__init__(*args, **kwargs)
self.maxlen = maxlen
self._ensure_length()
def __setitem__(self, *args):
super().__setitem__(*args)
self._ensure_length()
def _ensure_length(self):
if self.maxlen is None:
return
while len(self) > self.maxlen:
self.popitem(last=False)