def log_event(request): try: tz = pytz.timezone(settings.TIME_ZONE) payload = json.loads(request.POST['json']) logged = tz.localize(datetime.datetime.fromtimestamp(int(payload['timestamp']))) # event = PurpleRobotEvent.objects.filter(logged=logged, event=payload['event_type']).first() if True: try: if len(payload['user_id'].strip()) == 0: payload['user_id'] = '-' except KeyError: payload['user_id'] = '-' event = PurpleRobotEvent(payload=json.dumps(payload, indent=2)) event.logged = logged event.event = payload['event_type'] event.user_id = payload['user_id'] try: event.save() except pytz.AmbiguousTimeError: pass return HttpResponse(json.dumps({ 'result': 'success' }), content_type='application/json') except UnreadablePostError: return HttpResponse(json.dumps({ 'result': 'error', 'message': 'Unreadable POST request' }), content_type='application/json') return HttpResponse(json.dumps({ 'result': 'error', 'message': 'Unknown error' }), content_type='application/json')
def log_event(request): try: payload = json.loads(request.POST['json']) logged = datetime.datetime.fromtimestamp(int(payload['timestamp'])) if PurpleRobotEvent.objects.filter(logged=logged, event=payload['event_type']).count() == 0: try: if len(payload['user_id'].strip()) == 0: payload['user_id'] = '-' except KeyError: payload['user_id'] = '-' event = PurpleRobotEvent(payload=json.dumps(payload, indent=2)) event.logged = logged event.event = payload['event_type'] event.user_id = payload['user_id'] event.save() return HttpResponse(json.dumps({ 'result': 'success' }), content_type='application/json') except UnreadablePostError: return HttpResponse(json.dumps({ 'result': 'error', 'message': 'Unreadable POST request' }), content_type='application/json') return HttpResponse(json.dumps({ 'result': 'error', 'message': 'Unknown error' }), content_type='application/json')