Spaces:
Running
on
T4
Running
on
T4
from weak_list import WeakList | |
from collections import defaultdict | |
class OrderedMultimapWeakRef: | |
def __init__(self): | |
self.data = [] | |
self.index_list = WeakList() | |
def insert(self, text, title): | |
self.data.append(text) | |
self.index_list.append(title) | |
def get(self, key): | |
if key: | |
return [self.data[i][1] for i in self.index_map[key]] | |
else: | |
return [self.data[i][1] for i in self.keyless_values] | |
def items(self): | |
from collections import defaultdict | |
result = defaultdict(list) | |
for key, value in self.data: | |
result[key].append(value) | |
return result.items() | |
def all_items(self): | |
return self.data |