summaryrefslogtreecommitdiff
path: root/service/pixelated/adapter/soledad/soledad_duplicate_removal_mixin.py
diff options
context:
space:
mode:
authorFolker Bernitt <fbernitt@thoughtworks.com>2015-09-09 09:59:03 +0200
committerFolker Bernitt <fbernitt@thoughtworks.com>2015-09-09 09:59:03 +0200
commitfbae105bcdee32ffd5cb1afee8450967af5c0549 (patch)
treee218965c7f0a3a873f3b8f7b7efc298eb8849764 /service/pixelated/adapter/soledad/soledad_duplicate_removal_mixin.py
parent3802f0a55a383fa9314236e0d0905b963ea8f297 (diff)
Remove soledad querier and last usages
- Issue #432
Diffstat (limited to 'service/pixelated/adapter/soledad/soledad_duplicate_removal_mixin.py')
-rw-r--r--service/pixelated/adapter/soledad/soledad_duplicate_removal_mixin.py46
1 files changed, 0 insertions, 46 deletions
diff --git a/service/pixelated/adapter/soledad/soledad_duplicate_removal_mixin.py b/service/pixelated/adapter/soledad/soledad_duplicate_removal_mixin.py
deleted file mode 100644
index a2b4b6d7..00000000
--- a/service/pixelated/adapter/soledad/soledad_duplicate_removal_mixin.py
+++ /dev/null
@@ -1,46 +0,0 @@
-#
-# Copyright (c) 2014 ThoughtWorks, Inc.
-#
-# Pixelated is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# Pixelated is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with Pixelated. If not, see <http://www.gnu.org/licenses/>.
-from pixelated.adapter.soledad.soledad_facade_mixin import SoledadDbFacadeMixin
-from twisted.internet import defer
-
-
-class SoledadDuplicateRemovalMixin(SoledadDbFacadeMixin, object):
-
- @defer.inlineCallbacks
- def remove_duplicates(self):
- for mailbox in ['INBOX', 'DRAFTS', 'SENT', 'TRASH']:
- yield self._remove_dup_inboxes(mailbox)
- yield self._remove_dup_recent(mailbox)
-
- @defer.inlineCallbacks
- def _remove_many(self, docs):
- [(yield self.delete_doc(doc)) for doc in docs]
-
- @defer.inlineCallbacks
- def _remove_dup_inboxes(self, mailbox_name):
- mailboxes = yield self.get_mbox(mailbox_name)
- if len(mailboxes) == 0:
- return
- mailboxes_to_remove = sorted(mailboxes, key=lambda x: x.content['created'])[1:len(mailboxes)]
- yield self._remove_many(mailboxes_to_remove)
-
- @defer.inlineCallbacks
- def _remove_dup_recent(self, mailbox_name):
- rct = yield self.get_recent_by_mbox(mailbox_name)
- if len(rct) == 0:
- return
- rct_to_remove = sorted(rct, key=lambda x: len(x.content['rct']), reverse=True)[1:len(rct)]
- yield self._remove_many(rct_to_remove)