summaryrefslogtreecommitdiff
path: root/service
diff options
context:
space:
mode:
authorPatrick Maia and Victor Shyba <pixelated-team+pmaia+vshyba@thoughtworks.com>2014-08-27 21:01:19 +0000
committerPatrick Maia <pmaia@thoughtworks.com>2014-08-27 21:01:19 +0000
commitde9c26359ed448d4ee4937fa0d241469a7d76cf1 (patch)
treeae8c9047c24d094d7065c64ff0750d4c38b584b5 /service
parentee501988463fa09884987487828cda07fbe2b264 (diff)
#51 - workaround to bypass SoledadMailbox and read flags directly from soledad. For now, SoledadMailbox.getFlags always returns a fixed set
Diffstat (limited to 'service')
-rw-r--r--service/pixelated/adapter/pixelated_mailbox.py11
-rw-r--r--service/test/adapter/test_helper.py1
2 files changed, 10 insertions, 2 deletions
diff --git a/service/pixelated/adapter/pixelated_mailbox.py b/service/pixelated/adapter/pixelated_mailbox.py
index 7521de6e..280e67c7 100644
--- a/service/pixelated/adapter/pixelated_mailbox.py
+++ b/service/pixelated/adapter/pixelated_mailbox.py
@@ -41,11 +41,18 @@ class PixelatedMailbox:
return PixelatedMail.from_leap_mail(message)
def all_tags(self):
- return Tag.from_flags(self.leap_mailbox.getFlags())
+ return Tag.from_flags(self._getFlags())
+
+ def _getFlags(self):
+ # XXX Temporary workaround while getFlags from leap is disabled
+ mbox = self.leap_mailbox._get_mbox_doc()
+ if not mbox:
+ return self.leap_mailbox.getFlags()
+ return mbox.content.get(self.leap_mailbox.FLAGS_KEY, [])
def update_tags(self, tags):
new_flags = set(tag.to_flag() for tag in tags)
- current_flags = set(self.leap_mailbox.getFlags())
+ current_flags = set(self._getFlags())
flags = tuple(current_flags.union(new_flags))
self.leap_mailbox.setFlags(flags)
diff --git a/service/test/adapter/test_helper.py b/service/test/adapter/test_helper.py
index 5362b029..f61ee49d 100644
--- a/service/test/adapter/test_helper.py
+++ b/service/test/adapter/test_helper.py
@@ -36,4 +36,5 @@ def leap_mail(uid=0, leap_flags=LEAP_FLAGS, extra_flags=[], headers={'date': str
def leap_mailbox(leap_flags=LEAP_FLAGS, extra_flags=[]):
flags = leap_flags + extra_flags
return Mock(getFlags=Mock(return_value=flags),
+ _get_mbox_doc=Mock(return_value=None),
messages=[leap_mail(uid=6, leap_flags=[], extra_flags=[])])