]> git.ipfire.org Git - thirdparty/paperless-ngx.git/commitdiff
Switched to `flag()` 199/head
authorJohannes Schöpp <darkdiscover@gmail.com>
Wed, 2 Mar 2022 14:07:53 +0000 (15:07 +0100)
committerJohannes Schöpp <darkdiscover@gmail.com>
Wed, 2 Mar 2022 16:48:02 +0000 (17:48 +0100)
Newer versions of imap_tools moved away from `seen()` in favour of
`flag()` and deprecated the former.

This fixes https://github.com/jonaswinkler/paperless-ng/issues/1672

I also remove the mocked `seen()` function and updated the `flag()` mock

src/paperless_mail/mail.py
src/paperless_mail/tests/test_mail.py

index bc35f0e0da550549a0e9e302321d67cf17600fe6..0e9294927203447f9661c53b5391faec8e165b00 100644 (file)
@@ -44,7 +44,7 @@ class MarkReadMailAction(BaseMailAction):
         return {"seen": False}
 
     def post_consume(self, M, message_uids, parameter):
-        M.seen(message_uids, True)
+        M.flag(message_uids, [MailMessageFlags.SEEN], True)
 
 
 class MoveMailAction(BaseMailAction):
index b1f6ef8078e3cf3a1ac0e879f555079a7c8f8624..10aa431dbb236cfea0da6e85a453011314e1c524 100644 (file)
@@ -68,11 +68,6 @@ class BogusMailBox(ContextManager):
 
         return list(msg)
 
-    def seen(self, uid_list, seen_val):
-        for message in self.messages:
-            if message.uid in uid_list:
-                message.seen = seen_val
-
     def delete(self, uid_list):
         self.messages = list(filter(lambda m: m.uid not in uid_list, self.messages))
 
@@ -82,6 +77,8 @@ class BogusMailBox(ContextManager):
                 for flag in flag_set:
                     if flag == MailMessageFlags.FLAGGED:
                         message.flagged = value
+                    if flag == MailMessageFlags.SEEN:
+                        message.seen = value
 
     def move(self, uid_list, folder):
         if folder == "spam":