def _repair_docs(self, doclist, cmp_func, log_func):
self.log.error("BUG -------------------------------------------------")
self.log.error("There is more than one doc of type %s:"
% (doclist[0].content[KEY_TYPE_KEY],))
doclist.sort(cmp=cmp_func, reverse=True)
log_func(doclist[0])
deferreds = []
for doc in doclist[1:]:
log_func(doc)
d = self._soledad.delete_doc(doc)
deferreds.append(d)
self.log.error('Error repairing')
self.log.error("BUG (please report above info) ----------------------")
d = defer.gatherResults(deferreds, consumeErrors=True)
d.addCallback(lambda _: doclist[0])
return d
评论列表
文章目录