summaryrefslogtreecommitdiff
path: root/service/pixelated/user_agent.py
diff options
context:
space:
mode:
authorPatrick Maia <patrickjourdanmaia@gmail.com>2014-10-01 11:59:29 -0300
committerPatrick Maia <patrickjourdanmaia@gmail.com>2014-10-01 16:43:43 -0300
commit6244ef377aace0659c088f6c95878ec8aeb0cd02 (patch)
tree5546d537341322bbdeea3809f5aebf2513b0600b /service/pixelated/user_agent.py
parentd58d64c764a1a83411cff6a28a150cc8138a0228 (diff)
#53 - does not allow reserved names in tags
Diffstat (limited to 'service/pixelated/user_agent.py')
-rw-r--r--service/pixelated/user_agent.py13
1 files changed, 9 insertions, 4 deletions
diff --git a/service/pixelated/user_agent.py b/service/pixelated/user_agent.py
index 2dc71bf0..8c7440b0 100644
--- a/service/pixelated/user_agent.py
+++ b/service/pixelated/user_agent.py
@@ -47,9 +47,11 @@ app = Flask(__name__, static_url_path='', static_folder=static_folder)
DISABLED_FEATURES = ['draftReply', 'signatureStatus', 'encryptionStatus', 'contacts']
-def respond_json(entity):
- response = json.dumps(entity)
- return Response(response=response, mimetype="application/json")
+def respond_json(entity, status_code=200):
+ json_response = json.dumps(entity)
+ response = Response(response=json_response, mimetype="application/json")
+ response.status_code = status_code
+ return response
@app.route('/disabled_features')
@@ -127,7 +129,10 @@ def mail(mail_id):
@app.route('/mail/<mail_id>/tags', methods=['POST'])
def mail_tags(mail_id):
new_tags = map(lambda tag: tag.lower(), request.get_json()['newtags'])
- tags = mail_service.update_tags(mail_id, new_tags)
+ try:
+ tags = mail_service.update_tags(mail_id, new_tags)
+ except ValueError as ve:
+ return respond_json(ve.message, 403)
return respond_json(list(tags))