diff options
| author | Duda Dornelles <ddornell@thoughtworks.com> | 2014-12-23 16:40:08 -0200 | 
|---|---|---|
| committer | Duda Dornelles <ddornell@thoughtworks.com> | 2014-12-23 16:40:08 -0200 | 
| commit | d6fcbb1fbe3d791ed5da6935b9cc6190b56f01cb (patch) | |
| tree | aeadd1cc50000a1dcab7434e0024bf652c3747a0 /service/pixelated/controllers/mails_controller.py | |
| parent | 667c75e1af204dec1ab6b64c575ff17ffa2458aa (diff) | |
#216 when trying to save a draft too fast (before the previous version is saved) simply ignore the attempt
Diffstat (limited to 'service/pixelated/controllers/mails_controller.py')
| -rw-r--r-- | service/pixelated/controllers/mails_controller.py | 6 | 
1 files changed, 6 insertions, 0 deletions
| diff --git a/service/pixelated/controllers/mails_controller.py b/service/pixelated/controllers/mails_controller.py index 9d649a1f..29e25d76 100644 --- a/service/pixelated/controllers/mails_controller.py +++ b/service/pixelated/controllers/mails_controller.py @@ -15,6 +15,8 @@  # along with Pixelated. If not, see <http://www.gnu.org/licenses/>.  import json +import random +import time  from pixelated.adapter.model.mail import InputMail  from pixelated.controllers import respond_json @@ -105,11 +107,15 @@ class MailsController:          return respond_json(mail.as_dict(), request)      def update_draft(self, request): +        if bool(random.getrandbits(1)): +            time.sleep(3)          content_dict = json.loads(request.content.read())          _mail = InputMail.from_dict(content_dict)          draft_id = content_dict.get('ident')          if draft_id: +            if not self._mail_service.mail_exists(draft_id): +                return respond_json("", request, status_code=422)              pixelated_mail = self._draft_service.update_draft(draft_id, _mail)              self._search_engine.remove_from_index(draft_id)          else: | 
