diff options
| -rw-r--r-- | mail/.gitignore | 1 | ||||
| -rw-r--r-- | mail/changes/bug_messages-iterator-needs-collection | 2 | ||||
| -rw-r--r-- | mail/src/leap/mail/imap/messages.py | 10 | 
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): | 
