def flush(self, notice=None, force=False): from fooling.indexer import Indexer if force: self._last_unindexed_loc = len(self)-1 if self._last_unindexed_loc: indexer = Indexer(self, verbose=self.verbose) prevloc = int(self.index_lastloc() or '-1') lastloc = int(self._last_unindexed_loc) # notice is a function that receives the number of docs being indexed. if notice: notice(lastloc - prevloc) for i in xrange(prevloc+1, lastloc+1): indexer.index_doc(str(i), indexyomi=config.INDEX_YOMI) indexer.finish() self.merge(force) self._last_unindexed_loc = None return