diff --git a/gracedb/api.py b/gracedb/api.py index 43d309a73f258a830a11369bce79eb48fd9aa853..2798fbfe38e4f866d668faa1ab9566f3ed598074 100644 --- a/gracedb/api.py +++ b/gracedb/api.py @@ -520,12 +520,14 @@ class EventLabel(APIView): def put(self, request, graceid, label): #return Response("Not Implemented", status=status.HTTP_501_NOT_IMPLEMENTED) try: - create_label(graceid, label, request.ligouser) + rv = create_label(graceid, label, request.ligouser) + except Event.DoesNotExist: + msg = "No such Event '%s'" % graceid + return Response(msg,status=status.HTTP_404_NOT_FOUND) except ValueError, e: return Response(e.message, status=status.HTTP_400_BAD_REQUEST) - return Response("Created", status=status.HTTP_201_CREATED) - + return Response(rv, status=status.HTTP_201_CREATED) def delete(self, request, graceid, label): return Response("Not Implemented", status=status.HTTP_501_NOT_IMPLEMENTED) diff --git a/gracedb/views.py b/gracedb/views.py index a30737d31e605dc0baabc7a73aa1146b3af3059f..6a5f81855688ae649dc4f0e626981ee24fecc8cf 100644 --- a/gracedb/views.py +++ b/gracedb/views.py @@ -416,7 +416,7 @@ def create_label(graceid, labelName, creator, doAlert=True, doXMPP=True): except Exception, e: d['warning'] = "Problem issuing alert (%s)" % str(e) # XXX Strange return value. Just warnings. Can really be ignored, I think. - return d + return json.dumps(d) def cli_label(request): graceid = request.POST.get('graceid')