def images_handler(): if request.method == "POST": url = str(request.data.get('url', '')) diff = int(request.data.get('diff', '')) if url and diff: image = Image(url=url) image.save() pieces = cropper(diff, url) if diff == 4: for item in pieces: piece = PieceBeginner(img_id=image.id, value=item['value'], url=item['url']) piece.save() if diff == 9: for item in pieces: piece = PieceIntermediate(img_id=image.id, value=item['value'], url=item['url']) piece.save() if diff == 16: for item in pieces: piece = PieceHard(img_id=image.id, value=item['value'], url=item['url']) piece.save() beginner_pieces = PieceBeginner.query.filter_by( img_id=image.id) bpieces = [] for piece in beginner_pieces: obj = {'value': piece.value, 'url': piece.url} bpieces.append(obj) intermediate_pieces = PieceIntermediate.query.filter_by( img_id=image.id) ipieces = [] for piece in intermediate_pieces: obj = {'value': piece.value, 'url': piece.url} ipieces.append(obj) hard_pieces = PieceHard.query.filter_by(img_id=image.id) hpieces = [] for piece in hard_pieces: obj = {'value': piece.value, 'url': piece.url} hpieces.append(obj) response = jsonify({ 'id': image.id, 'url': image.url, 'date_created': image.date_created, 'date_modified': image.date_modified, 'beginner_pieces': bpieces, 'intermediate_pieces': ipieces, 'hard_pieces': hpieces }) response.status_code = 201 return response else: # GET images = Image.get_all() results = [] for image in images: obj = { 'id': image.id, 'url': image.url, 'date_created': image.date_created, 'date_modified': image.date_modified } results.append(obj) response = jsonify(results) response.status_code = 200 return response