summaryrefslogtreecommitdiff
path: root/service/pixelated/adapter/mail_service.py
diff options
context:
space:
mode:
authorPatrick Maia and Victor Shyba <pixelated-team+pmaia+vshyba@thoughtworks.com>2014-09-04 17:57:14 +0000
committerPatrick Maia <pmaia@thoughtworks.com>2014-09-04 17:57:14 +0000
commit96d1aa660bb927282ff7439cab411fb5cae6d5c0 (patch)
tree4baf5750a5b947baa53799f9d416759688ff1457 /service/pixelated/adapter/mail_service.py
parent29b128fa0a20f613d61ec292e7881e4a334c5c7d (diff)
#6 - reimplements email tag addition/removal using headers
Diffstat (limited to 'service/pixelated/adapter/mail_service.py')
-rw-r--r--service/pixelated/adapter/mail_service.py21
1 files changed, 0 insertions, 21 deletions
diff --git a/service/pixelated/adapter/mail_service.py b/service/pixelated/adapter/mail_service.py
index 162fa9c5..bc87d37b 100644
--- a/service/pixelated/adapter/mail_service.py
+++ b/service/pixelated/adapter/mail_service.py
@@ -14,8 +14,6 @@
# 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 twisted.internet import defer
-from pixelated.adapter.pixelated_mailbox import PixelatedMailbox
from pixelated.adapter.tag import Tag
@@ -45,31 +43,12 @@ class MailService:
mail = self.mail(mail_id)
tags = set(Tag(str_tag) for str_tag in new_tags)
current_tags, removed_tags = mail.update_tags(tags)
- self._update_mail_flags(current_tags, removed_tags, mail_id)
self._update_mailbox_tags(tags)
return current_tags
def _update_mailbox_tags(self, tags):
self.mailbox.update_tags(tags)
- def _update_mail_flags(self, current_tags, removed_tags, mail_id):
- new_flags = ['tag_' + tag.name for tag in current_tags if tag.name not in PixelatedMailbox.SPECIAL_TAGS]
- self._append_mail_flags(mail_id, new_flags)
-
- removed_flags = ['tag_' + tag.name for tag in removed_tags if tag.name not in PixelatedMailbox.SPECIAL_TAGS]
- self._remove_mail_flags(mail_id, removed_flags)
-
- def _append_mail_flags(self, mail_id, flags):
- self._set_mail_flags(mail_id, flags, 1)
-
- def _remove_mail_flags(self, mail_id, flags):
- self._set_mail_flags(mail_id, flags, -1)
-
- def _set_mail_flags(self, mail_id, flags, operation):
- observer = defer.Deferred()
- leap_mailbox = self.mailboxes.leap_inbox_mailbox()
- self.mailbox.messages.set_flags(leap_mailbox, [mail_id], tuple(flags), operation, observer)
-
def mail(self, mail_id):
return self.mailbox.mail(mail_id)