def render_POST(self, request):
        new_tags = json.loads(request.content.read()).get('newtags')

        try:
            mail = self._mail_service.update_tags(self._mail_id, new_tags)
        except ValueError as ve:
            return respond_json(ve.message, request, 403)
        return respond_json(mail.as_dict(), request)
Esempio n. 2
0
    def render_POST(self, request):
        new_tags = json.loads(request.content.read()).get('newtags')

        try:
            mail = self._mail_service.update_tags(self._mail_id, new_tags)
        except ValueError as ve:
            return respond_json(ve.message, request, 403)
        return respond_json(mail.as_dict(), request)
 def render_POST(self, request):
     content_dict = json.loads(request.content.read())
     new_tags = [x.lower() for x in map(lambda e: e.strip(), content_dict['newtags']) if x != '']
     try:
         self._mail_service.update_tags(self._mail_id, new_tags)
         mail = self._mail_service.mail(self._mail_id)
         self._search_engine.index_mail(mail)
     except ValueError as ve:
         return respond_json(ve.message, request, 403)
     return respond_json(mail.as_dict(), request)
    def render_PUT(self, request):
        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)
        else:
            pixelated_mail = self._draft_service.create_draft(_mail)

        return respond_json({'ident': pixelated_mail.ident}, request)
    def render_PUT(self, request):
        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)
        else:
            pixelated_mail = self._draft_service.create_draft(_mail)

        return respond_json({'ident': pixelated_mail.ident}, request)
    def render_POST(self, request):
        try:
            content_dict = json.loads(request.content.read())
            _mail = InputMail.from_dict(content_dict)
            draft_id = content_dict.get('ident')
            if draft_id:
                self._search_engine.remove_from_index(draft_id)
            _mail = self._mail_service.send(draft_id, _mail)
            self._search_engine.index_mail(_mail)

            return respond_json(_mail.as_dict(), request)
        except Exception as error:
            return respond_json({'message': _format_exception(error)}, request, status_code=422)
Esempio n. 7
0
 def render_POST(self, request):
     content_dict = json.loads(request.content.read())
     new_tags = [
         x.lower()
         for x in map(lambda e: e.strip(), content_dict['newtags'])
         if x != ''
     ]
     try:
         self._mail_service.update_tags(self._mail_id, new_tags)
         mail = self._mail_service.mail(self._mail_id)
         self._search_engine.index_mail(mail)
     except ValueError as ve:
         return respond_json(ve.message, request, 403)
     return respond_json(mail.as_dict(), request)
 def render_POST(self, request):
     content_dict = json.load(request.content)
     idents = content_dict.get('idents')
     for ident in idents:
         mail = self._mail_service.mark_as_read(ident)
         self._search_engine.index_mail(mail)
     return respond_json(None, request)
Esempio n. 9
0
    def render_GET(self, request):
        session = IPixelatedSession(request.getSession())
        status = 'completed' if self._services_factory.mode.is_single_user else str(
            session.check_login_status())

        response = {'status': status}
        return respond_json(response, request)
Esempio n. 10
0
 def render_POST(self, request):
     content_dict = json.load(request.content)
     idents = content_dict.get('idents')
     for ident in idents:
         mail = self._mail_service.mark_as_read(ident)
         self._search_engine.index_mail(mail)
     return respond_json(None, request)
    def test_respond_json_should_populate_response(self):
        request = DummyRequest([''])
        body = respond_json({"test": "yep"}, request)

        self.assertEqual(200, request.code)
        self.assertEqual(b"{\"test\": \"yep\"}", body)
        self.assertEqual([b"application/json"],
                         request.responseHeaders.getRawHeaders("Content-Type"))
Esempio n. 12
0
    def test_respond_json_should_populate_response(self):
        request = DummyRequest([''])
        body = respond_json({"test": "yep"}, request)

        self.assertEqual(200, request.code)
        self.assertEqual(b"{\"test\": \"yep\"}", body)
        self.assertEqual([b"application/json"],
                         request.responseHeaders.getRawHeaders("Content-Type"))
 def render_GET(self, request):
     try:
         disabled_features = {'logout': os.environ['DISPATCHER_LOGOUT_URL']}
     except KeyError:
         disabled_features = {}
     return respond_json(
         {
             'disabled_features': self.DISABLED_FEATURES,
             'dispatcher_features': disabled_features
         }, request)
Esempio n. 14
0
 def render_GET(self, request):
     _sync_info = {
         'is_syncing': self.current != self.total,
         'count': {
             'current': self.current,
             'total': self.total,
             'progress': self._get_progress()
         }
     }
     return respond_json(_sync_info, request)
Esempio n. 15
0
    def render_GET(self, request):
        dispatcher_features = {}

        if os.environ.get('DISPATCHER_LOGOUT_URL'):
            dispatcher_features['logout'] = os.environ.get('DISPATCHER_LOGOUT_URL')

        if os.environ.get('FEEDBACK_URL') is None:
            self.DISABLED_FEATURES.append('feedback')

        return respond_json(
            {'disabled_features': self.DISABLED_FEATURES, 'dispatcher_features': dispatcher_features}, request)
    def render_GET(self, request):
        query, window_size, page = request.args.get('q')[0], request.args.get('w')[0], request.args.get('p')[0]
        mails, total = self._mail_service.mails(query, window_size, page)

        response = {
            "stats": {
                "total": total,
            },
            "mails": [mail.as_dict() for mail in mails]
        }

        return respond_json(response, request)
    def render_GET(self, request):
        mail_ids, total = self._search_engine.search(request.args.get('q')[0], request.args.get('w')[0], request.args.get('p')[0])
        mails = self._mail_service.mails(mail_ids)

        response = {
            "stats": {
                "total": total,
            },
            "mails": [mail.as_dict() for mail in mails]
        }

        return respond_json(response, request)
    def render_GET(self, request):
        query, window_size, page = request.args.get('q')[0], request.args.get(
            'w')[0], request.args.get('p')[0]
        mails, total = self._mail_service.mails(query, window_size, page)

        response = {
            "stats": {
                "total": total,
            },
            "mails": [mail.as_dict() for mail in mails]
        }

        return respond_json(response, request)
Esempio n. 19
0
    def render_POST(self, request):
        content_dict = json.loads(request.content.read())
        _mail = InputMail.from_dict(content_dict)
        draft_id = content_dict.get('ident')

        self._mail_service.send(_mail)
        sent_mail = self._mail_service.move_to_send(draft_id, _mail)
        self._search_engine.index_mail(sent_mail)

        if draft_id:
            self._search_engine.remove_from_index(draft_id)

        return respond_json(sent_mail.as_dict(), request)
Esempio n. 20
0
    def render_GET(self, request):
        mail_ids, total = self._search_engine.search(
            request.args.get('q')[0],
            request.args.get('w')[0],
            request.args.get('p')[0])
        mails = self._mail_service.mails(mail_ids)

        response = {
            "stats": {
                "total": total,
            },
            "mails": [mail.as_dict() for mail in mails]
        }

        return respond_json(response, request)
Esempio n. 21
0
 def render_POST(self, request):
     idents = json.loads(request.content.read())['idents']
     for ident in idents:
         self._mail_service.recover_mail(ident)
     return respond_json(None, request)
 def render_DELETE(self, request):
     self._mail_service.delete_mail(self._mail_id)
     return respond_json(None, request)
 def render_GET(self, request):
     mail = self._mail_service.mail(self._mail_id)
     return respond_json(mail.as_dict(), request)
    def render_POST(self, request):
        idents = json.load(request.content).get('idents')
        for ident in idents:
            self._mail_service.mark_as_read(ident)

        return respond_json(None, request)
Esempio n. 25
0
 def render_GET(self, request):
     if self.is_admin(request):
         return respond_json({"count": self._services_factory.online_sessions()}, request)
     return UnAuthorizedResource().render_GET(request)
    def render_GET(self, request):
        session = IPixelatedSession(request.getSession())
        status = 'completed' if self._services_factory.mode.is_single_user else str(session.check_login_status())

        response = {'status': status}
        return respond_json(response, request)
 def render_POST(self, request):
     idents = json.loads(request.content.read())['idents']
     for ident in idents:
         self._mail_service.recover_mail(ident)
     return respond_json(None, request)
 def render_GET(self, request):
     _account_email = self.mail_service(request).account_email
     return respond_json({'account_email': _account_email}, request)
 def render_GET(self, request):
     disabled_features = self._disabled_features()
     features = {"disabled_features": disabled_features}
     self._add_multi_user_to(features)
     return respond_json(features, request)
Esempio n. 30
0
 def render_GET(self, request):
     if self.is_admin(request):
         return respond_json(
             {"count": self._services_factory.online_sessions()}, request)
     return UnAuthorizedResource().render_GET(request)
Esempio n. 31
0
 def render_DELETE(self, request):
     self._delete_mail(self._mail_id)
     return respond_json(None, request)
 def render_GET(self, request):
     disabled_features = self._disabled_features()
     features = {'disabled_features': disabled_features}
     self._add_multi_user_to(features)
     return respond_json(features, request)
    def render_POST(self, request):
        idents = json.load(request.content).get('idents')
        for ident in idents:
            self._mail_service.mark_as_read(ident)

        return respond_json(None, request)
 def render_GET(self, request):
     try:
         disabled_features = {'logout': os.environ['DISPATCHER_LOGOUT_URL']}
     except KeyError:
         disabled_features = {}
     return respond_json({'disabled_features': self.DISABLED_FEATURES, 'dispatcher_features': disabled_features}, request)
Esempio n. 35
0
 def render_GET(self, request):
     mail = self._mail_service.mail(self._mail_id)
     return respond_json(mail.as_dict(), request)
 def render_POST(self, request):
     feedback = json.loads(request.content.read()).get('feedback')
     self.feedback_service.open_ticket(feedback)
     return respond_json({}, request)
Esempio n. 37
0
 def render_GET(self, request):
     dispatcher_features = self._dispatcher_features()
     disabled_features = self._disabled_features()
     return respond_json(
         {'disabled_features': disabled_features, 'dispatcher_features': dispatcher_features}, request)