summaryrefslogtreecommitdiff
path: root/src/leap/mail/imap/soledadstore.py
diff options
context:
space:
mode:
authorKali Kaneko <kali@leap.se>2014-02-11 01:43:14 -0400
committerKali Kaneko <kali@leap.se>2014-02-17 11:39:48 -0400
commit4338368aa2ba0efaee742e9000e21b81af34d3db (patch)
tree3d3fff4030567a6f9a0d90682335de6c213f7d08 /src/leap/mail/imap/soledadstore.py
parentde762b5c6e529f4e668bee1ec848eb1f6380369b (diff)
separate new and dirty queues
Diffstat (limited to 'src/leap/mail/imap/soledadstore.py')
-rw-r--r--src/leap/mail/imap/soledadstore.py20
1 files changed, 13 insertions, 7 deletions
diff --git a/src/leap/mail/imap/soledadstore.py b/src/leap/mail/imap/soledadstore.py
index e7c6b29..667e64d 100644
--- a/src/leap/mail/imap/soledadstore.py
+++ b/src/leap/mail/imap/soledadstore.py
@@ -220,12 +220,15 @@ class SoledadStore(ContentDedup):
to be inserted.
:type queue: Queue
"""
- from twisted.internet import reactor
-
- while not queue.empty():
- doc_wrapper = queue.get()
- reactor.callInThread(self._consume_doc, doc_wrapper,
- self.docs_notify_queue)
+ new, dirty = queue
+ while not new.empty():
+ doc_wrapper = new.get()
+ self.reactor.callInThread(self._consume_doc, doc_wrapper,
+ self.docs_notify_queue)
+ while not dirty.empty():
+ doc_wrapper = dirty.get()
+ self.reactor.callInThread(self._consume_doc, doc_wrapper,
+ self.docs_notify_queue)
# Queue empty, flush the notifications queue.
self.docs_notify_queue(None, flush=True)
@@ -239,7 +242,8 @@ class SoledadStore(ContentDedup):
:type doc_wrapper: MessageWrapper
"""
if isinstance(doc_wrapper, MessageWrapper):
- logger.info("unsetting new flag!")
+ # XXX still needed for debug quite often
+ #logger.info("unsetting new flag!")
doc_wrapper.new = False
doc_wrapper.dirty = False
@@ -284,6 +288,8 @@ class SoledadStore(ContentDedup):
try:
self._try_call(call, item)
except Exception as exc:
+ logger.debug("ITEM WAS: %s" % str(item))
+ logger.debug("ITEM CONTENT WAS: %s" % str(item.content))
logger.exception(exc)
failed = True
continue