summaryrefslogtreecommitdiff
path: root/service/pixelated/adapter/services/draft_service.py
diff options
context:
space:
mode:
authorVictor Shyba <victor.shyba@gmail.com>2015-07-18 00:19:25 +0200
committerFolker Bernitt <fbernitt@thoughtworks.com>2015-08-11 17:00:24 +0200
commitd415a3a89535278ee455c79f6ddf912cd383e4f0 (patch)
treecf06351c9c17e903ac8244b6e05b144ad2329744 /service/pixelated/adapter/services/draft_service.py
parentad65388274feaea5f4e0c3df0aafeb800825491e (diff)
fix integration.test_drafts
Diffstat (limited to 'service/pixelated/adapter/services/draft_service.py')
-rw-r--r--service/pixelated/adapter/services/draft_service.py13
1 files changed, 8 insertions, 5 deletions
diff --git a/service/pixelated/adapter/services/draft_service.py b/service/pixelated/adapter/services/draft_service.py
index c8df0a05..5a0ee5f3 100644
--- a/service/pixelated/adapter/services/draft_service.py
+++ b/service/pixelated/adapter/services/draft_service.py
@@ -13,6 +13,7 @@
#
# 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
class DraftService(object):
@@ -21,11 +22,13 @@ class DraftService(object):
def __init__(self, mailboxes):
self._mailboxes = mailboxes
+ @defer.inlineCallbacks
def create_draft(self, input_mail):
- pixelated_mail = self._mailboxes.drafts.add(input_mail)
- return pixelated_mail
+ pixelated_mail = yield (yield self._mailboxes.drafts).add(input_mail)
+ defer.returnValue(pixelated_mail)
+ @defer.inlineCallbacks
def update_draft(self, ident, input_mail):
- pixelated_mail = self.create_draft(input_mail)
- self._mailboxes.drafts.remove(ident)
- return pixelated_mail
+ pixelated_mail = yield self.create_draft(input_mail)
+ yield (yield self._mailboxes.drafts).remove(ident)
+ defer.returnValue(pixelated_mail)