diff options
author | Patrick Maia and Victor Shyba <pixelated-team+pmaia+vshyba@thoughtworks.com> | 2014-08-27 21:01:19 +0000 |
---|---|---|
committer | Patrick Maia <pmaia@thoughtworks.com> | 2014-08-27 21:01:19 +0000 |
commit | de9c26359ed448d4ee4937fa0d241469a7d76cf1 (patch) | |
tree | ae8c9047c24d094d7065c64ff0750d4c38b584b5 | |
parent | ee501988463fa09884987487828cda07fbe2b264 (diff) |
#51 - workaround to bypass SoledadMailbox and read flags directly from soledad. For now, SoledadMailbox.getFlags always returns a fixed set
-rw-r--r-- | service/pixelated/adapter/pixelated_mailbox.py | 11 | ||||
-rw-r--r-- | service/test/adapter/test_helper.py | 1 |
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=[])]) |