Multipurpose-AI-Agent-Development / ordered_multimap.py
devve1's picture
Update ordered_multimap.py
3c811f8 verified
raw
history blame
No virus
670 Bytes
from weak_list import WeakList
from collections import defaultdict
class StringWrapper:
def __init__(self, s):
self.s = s
class OrderedMultiIndexMapWeakRef:
def __init__(self):
self.data = []
self.index_list = WeakList()
def insert(self, text, title):
self.data.append(text)
self.index_list.append(StringWrapper(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 all_titles(self):
return self.index_list
def all_texts(self):
return self.data