Index: Mailman/Archiver/HyperDatabase.py =================================================================== RCS file: /cvsroot/mailman/mailman/Mailman/Archiver/HyperDatabase.py,v retrieving revision 1.10 diff --context -b -r1.10 HyperDatabase.py *** Mailman/Archiver/HyperDatabase.py 2000/09/22 20:28:15 1.10 --- Mailman/Archiver/HyperDatabase.py 2002/01/27 19:40:54 *************** *** 141,149 **** return self.dict.has_key(key) def set_location(self, loc): ! if not self.dict.has_key(loc): ! raise KeyError ! self.current_index = self.sorted.index(loc) def __getitem__(self, item): return self.dict[item] --- 141,154 ---- return self.dict.has_key(key) def set_location(self, loc): ! index = 0 ! self.__sort() ! for key in self.sorted: ! if key[0] == loc: ! self.current_index = index ! return key,self.dict[key] ! index = index + 1 ! raise KeyError(loc) def __getitem__(self, item): return self.dict[item] *************** *** 303,311 **** self.__openIndices(archive) subject=string.lower(subject) try: ! key, tempid=self.subjectIndex.set_location(subject) ! self.subjectIndex.next() ! [subject2, date]= string.split(key, '\0') if subject!=subject2: return None return tempid except KeyError: --- 308,316 ---- self.__openIndices(archive) subject=string.lower(subject) try: ! self.subjectIndex.set_location(subject) ! key, tempid = self.subjectIndex.next() ! [subject2, date]= key[:2] if subject!=subject2: return None return tempid except KeyError: