Ejemplo n.º 1
0
def upload_photo():
	f = request.files['file']
	header = f.headers['Content-Type']
	parsed_header = parse_options_header(header)
	blob_key = parsed_header[1]['blob-key']

	image = Image(blobKey=blob_key, id=blob_key)

	image.put()

	return make_response(blob_key, http.CREATED)
Ejemplo n.º 2
0
def upload_photo():
    f = request.files['file']
    header = f.headers['Content-Type']
    parsed_header = parse_options_header(header)
    blob_key = parsed_header[1]['blob-key']

    image = Image(blobKey=blob_key, id=blob_key)

    image.put()

    return make_response(blob_key, http.CREATED)
Ejemplo n.º 3
0
def get_image_by_link():
	image = Image.query(Image.link == request.args.get(LINK))

	if image.get() is not None:
		return make_response(jsonify({BLOB: image.get().blobKey}), http.OK)
	else:
		return make_response("No images", http.NOT_FOUND)
Ejemplo n.º 4
0
def get_images_collaborative(user, key_words, pictograms):
	def callback(images_used):
		return images_used.user

	recommended_images = pictograms
	images = Image.query(ndb.OR(Image.keyWords.keyWord.IN(key_words), Image.tags.tag.IN(key_words))).fetch(keys_only=True)

	if len(images) > 0:
		query = ImageUsed.query(ImageUsed.image.IN(images))
		if query.count() > 0:
			users = query.map(callback)
			query = RelatedUsers.query(ndb.OR(RelatedUsers.user1 == user, RelatedUsers.user2 == user)).filter(
										ndb.OR(RelatedUsers.user1.IN(users), RelatedUsers.user2.IN(users))).order(-
										RelatedUsers.relation)

			related = query.fetch(LIMIT_OF_RUSERS)
			for ru in related:
				if ru.relation > MINIMUM_RELATION:
					related_user = ru.get_related_user(user)
					images_used = ImageUsed.query(ImageUsed.user == related_user, ImageUsed.image.IN(images)).order(ImageUsed.count)
					for image_used in images_used:
						image = image_used.image
						if not (image.id() in recommended_images):
							recommended_images.append({tfg_server.BLOB: image.id(), tfg_server.LINK: image.get().link})
							break
					if len(recommended_images) > IMAGES_COLLABORATIVE:
						break

				else:
					break
	return recommended_images
Ejemplo n.º 5
0
def get_image_by_link():
    image = Image.query(Image.link == request.args.get(LINK))

    if image.get() is not None:
        return make_response(jsonify({BLOB: image.get().blobKey}), http.OK)
    else:
        return make_response("No images", http.NOT_FOUND)
Ejemplo n.º 6
0
def get_pictograms(key_words):
	images = []
	pictograms = Image.query(Image.keyWords.keyWord.IN(PICTOGRAM_TAG), Image.tags.tag.IN(key_words))

	for pictogram in pictograms:
		images.append({tfg_server.BLOB: pictogram.blobKey, tfg_server.LINK: pictogram.link})

	return images