def group_json(request, project, group_id): group = get_object_or_404(Group, pk=group_id) if group.project and group.project != project: return HttpResponse(status_code=404) try: event = group.get_latest_event() except IndexError: # It's possible that a message would not be created under certain circumstances # (such as a post_save signal failing) event = Event() # We use a SortedDict to keep elements ordered for the JSON serializer data = SortedDict() data['id'] = event.event_id data['checksum'] = event.checksum data['project'] = event.project_id data['logger'] = event.logger data['level'] = event.get_level_display() data['culprit'] = event.culprit for k, v in sorted(event.data.iteritems()): data[k] = v return HttpResponse(json.dumps(data), mimetype='application/json')