def generate(request, morph_id): try: morph = Morph.objects.get(id=morph_id) if morph.final: return redirect(label='morphin:view', args=[morph_id]) except: not_found() response = {} if request.method == 'POST' and 'data' in request.POST: response['status'] = 'ok' input = json.loads(request.POST['data']) morpher = Morpher(morph.master_image.path, morph.slave_image.path) gif_path = morpher.generate_frames(input['markers']) morph.morph_image = os.path.join('uploads', str(morph.id), os.path.basename(gif_path)) morph.points = json.dumps(input['markers']) morph.save() response['data'] = input response['image_url'] = morph.morph_image.url else: response['status'] = 'error' return json_response(response)
def messages(request, timestamp=None): if timestamp: date = datetime.fromtimestamp(timestamp) messages = Message.objects.filter(date__gt=date) else: messages = Message.objects.filter() response = { 'messages': [ {'message':message.message, 'date':naturaltime(message.date)} for message in messages ], 'timestamp': time.time(), } return json_response(response)
def post(request): date = datetime.now() message = Message( message=request.POST['message'].strip(), latitude=float(request.POST['latitude']), longitude=float(request.POST['longitude']), ip=request.META['REMOTE_ADDR'], date=date, ) if len(message.message) > 0: message.save() response = { 'status': 'ok', 'timestamp': time.mktime(date.timetuple()), } else: # do nothing response = { 'status': 'ok', } return json_response(response)