Ejemplo n.º 1
0
 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