File size: 670 Bytes
600cdc6
0ad6e3a
 
3c811f8
 
 
 
de1e0b3
0ad6e3a
 
600cdc6
0ad6e3a
4d74cf4
 
3c811f8
0ad6e3a
 
 
 
 
 
 
816097b
 
0ad6e3a
7067826
0ad6e3a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
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