diff options
Diffstat (limited to 'service/pixelated/adapter')
-rw-r--r-- | service/pixelated/adapter/mail_service.py | 4 | ||||
-rw-r--r-- | service/pixelated/adapter/search.py | 4 | ||||
-rw-r--r-- | service/pixelated/adapter/soledad_querier.py | 4 |
3 files changed, 8 insertions, 4 deletions
diff --git a/service/pixelated/adapter/mail_service.py b/service/pixelated/adapter/mail_service.py index cc03ab3a..6c093b6d 100644 --- a/service/pixelated/adapter/mail_service.py +++ b/service/pixelated/adapter/mail_service.py @@ -68,6 +68,10 @@ class MailService: def delete_mail(self, mail_id): return self.mailboxes.move_to_trash(mail_id) + def delete_permanent(self, mail_id): + mail = self.mail(mail_id) + self.querier.remove_mail(mail) + def save_draft(self, draft): raise NotImplementedError() diff --git a/service/pixelated/adapter/search.py b/service/pixelated/adapter/search.py index ac68849c..71b72dba 100644 --- a/service/pixelated/adapter/search.py +++ b/service/pixelated/adapter/search.py @@ -151,8 +151,8 @@ class SearchEngine(object): return unique([mail['ident'] for mail in results]) def _paginated_search_mails(self, query, window, page): - page = int(page) if int(page) > 1 else 1 - window = int(window) + page = int(page) if page is not None and int(page) > 1 else 1 + window = int(window) if window is not None else 25 with self._index.searcher() as searcher: tags_facet = sorting.FieldFacet('tag', allow_overlap=True, maptype=sorting.Count) diff --git a/service/pixelated/adapter/soledad_querier.py b/service/pixelated/adapter/soledad_querier.py index 318e1539..42af6d2b 100644 --- a/service/pixelated/adapter/soledad_querier.py +++ b/service/pixelated/adapter/soledad_querier.py @@ -67,9 +67,9 @@ class SoledadQuerier: def remove_mail(self, mail): _mail = self.mail(mail.ident) # FIX-ME: Must go through all the part_map phash to delete all the cdocs - self.soledad.delete_doc(_mail.bdoc) - self.soledad.delete_doc(_mail.hdoc) self.soledad.delete_doc(_mail.fdoc) + self.soledad.delete_doc(_mail.hdoc) + self.soledad.delete_doc(_mail.bdoc) def idents_by_mailbox(self, mailbox_name): return set(doc.content['chash'] for doc in self.soledad.get_from_index('by-type-and-mbox-and-deleted', 'flags', mailbox_name, '0')) |