summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mail/.gitignore1
-rw-r--r--mail/changes/bug_messages-iterator-needs-collection2
-rw-r--r--mail/src/leap/mail/imap/messages.py10
3 files changed, 8 insertions, 5 deletions
diff --git a/mail/.gitignore b/mail/.gitignore
index 3a80621..91e42e2 100644
--- a/mail/.gitignore
+++ b/mail/.gitignore
@@ -20,3 +20,4 @@ local/
share/
MANIFEST
twistd.pid
+_trial_temp
diff --git a/mail/changes/bug_messages-iterator-needs-collection b/mail/changes/bug_messages-iterator-needs-collection
new file mode 100644
index 0000000..50c67d0
--- /dev/null
+++ b/mail/changes/bug_messages-iterator-needs-collection
@@ -0,0 +1,2 @@
+ o MessageCollection iterator now creates the LeapMessage with the collection
+ reference, so setFlags will work properly
diff --git a/mail/src/leap/mail/imap/messages.py b/mail/src/leap/mail/imap/messages.py
index b0b2f95..4e8e1a3 100644
--- a/mail/src/leap/mail/imap/messages.py
+++ b/mail/src/leap/mail/imap/messages.py
@@ -750,7 +750,7 @@ class MessageCollection(WithMsgFields, IndexedDB, MBoxParser):
:return: a dict with the template
:rtype: dict
"""
- if not _type in self.templates.keys():
+ if _type not in self.templates.keys():
raise TypeError("Improper type passed to _get_empty_doc")
return copy.deepcopy(self.templates[_type])
@@ -938,10 +938,10 @@ class MessageCollection(WithMsgFields, IndexedDB, MBoxParser):
# We can say the observer that we're done at this point, but
# before that we should make sure it has no serious consequences
# if we're issued, for instance, a fetch command right after...
- #self.reactor.callFromThread(observer.callback, uid)
+ # self.reactor.callFromThread(observer.callback, uid)
# if we did the notify, we need to invalidate the deferred
# so not to try to fire it twice.
- #observer = None
+ # observer = None
fd = self._populate_flags(flags, uid, chash, size, multi)
hd = self._populate_headr(msg, chash, subject, date)
@@ -1337,7 +1337,7 @@ class MessageCollection(WithMsgFields, IndexedDB, MBoxParser):
:returns: a list of LeapMessages
:rtype: list
"""
- return [LeapMessage(self._soledad, docid, self.mbox)
+ return [LeapMessage(self._soledad, docid, self.mbox, collection=self)
for docid in self.unseen_iter()]
# recent messages
@@ -1370,7 +1370,7 @@ class MessageCollection(WithMsgFields, IndexedDB, MBoxParser):
:returns: iterator of dicts with content for all messages.
:rtype: iterable
"""
- return (LeapMessage(self._soledad, docuid, self.mbox)
+ return (LeapMessage(self._soledad, docuid, self.mbox, collection=self)
for docuid in self.all_uid_iter())
def __repr__(self):