def put(cls): """ This endpoint is used to upload user avatars. Uploading a new avatar overwrites the existing one. """ data = image_schema.load(request.files) filename = f"user_{get_jwt_identity()}" folder = AVATAR_FOLDER avatar_path = image_helper.find_image_any_format(filename, folder) if avatar_path: try: os.remove(avatar_path) except: return {"message": gettext("avatar_delete_failed")}, 500 try: image = data["image"] ext = image_helper.get_extension(image.filename) avatar_name = filename + ext avatar_path = image_helper.save_image(image, folder, avatar_name) basename = image_helper.get_basename(avatar_path) return {"message": gettext("avatar_uploaded")}, 200 except UploadNotAllowed: extension = image_helper.get_extension(image) return { "message": gettext("image_extension_not_allowed").format(extension) }, 400
def put(cls): """ This endpoint is used to upload user avatars. All ovatars are named after user's ID. Something like thisL user_{id}.ext Uploading a new avatar overwrites the existing one. """ data = image_schema.load(request.files) filename = f"user_{get_jwt_identity()}" folder = "avatars" avatar_path = image_helper.find_image_any_format(filename, folder) if avatar_path: try: os.remove(avatar_path) except: return {"message": gettext("avatar_delete_failed")}, 500 try: ext = image_helper.get_extension(data['image'].filename) avatar = filename + ext avatar_path = image_helper.save_image( data['image'], folder=folder, name=avatar ) basename = image_helper.get_basename(avatar_path) return {"message": gettext("avatar_uploaded").format(basename)}, 200 except UploadNotAllowed: extension = image_helper.get_extension(data['image']) return {"message": gettext("image_illegal_extension").format(extension)}, 400
def put(cls): """ Upload user avatar. Users have unique avatar. """ data = request.files filename = f"user_{get_jwt_identity()}" folder = "avatars" avatar_path = image_helper.find_image_any_format(filename, folder) if avatar_path: try: os.remove(avatar_path) except: return {"message": "Failed to delete avatar"}, 500 try: ext = image_helper.get_extension(["image"].filename) avatar = filename + ext avatar_path = image_helper.save_image(data["image"], folder=folder, name=avatar) basename = image_helper.get_image_basename(avatar_path) return {"message": f"Uploaded {basename}"}, 200 except UploadNotAllowed: extension = image_helper.get_extension(data["image"]) return {"message": f"Extension {extension} not allowed"}, 400
def get(cls, user_id: int): folder = 'avatars' filename = f"user_{user_id}" avatar = image_helper.find_image_any_format(filename) if avatar: return send_file(avatar) return {"message": "Avatar not found"}, 404
def put(cls): """Endpoint used to upload user avatar, named after user ID. Uploding new avatar overwrites existing""" data = image_schema.load(request.files) filename = f"user_{get_jwt_identity()}" folder = "avatars" avatar_path = image_helper.find_image_any_format(filename, folder) if avatar_path: try: os.remove(avatar_path) except: return {'message': gettext("avatar_delete_failed")}, 500 try: ext = image_helper.get_extension(data["image"].filename) avatar = filename + ext avatar_path = image_helper.save_image(data["image"], folder=folder, name=avatar) basename = image_helper.get_basename(avatar_path) return { 'message': gettext("avatar_uploaded").format(basename) }, 200 except UploadNotAllowed: extension = image_helper.get_extension(data["image"]) return { 'message': gettext("image_illegal_extension").format(extension) }
def put(self): """This endpoint is used to upload user avatars all avatars are called after the user id uploading a new avatar overwrite the last one """ data = image_schema.load(request.files) filename = f"user_{get_jwt_identity()}" folder = "avatars" avatar_path = image_helper.find_image_any_format(filename, folder) if avatar_path: try: os.remove(avatar_path) except: return {"message": gettext("avatar_delete_failed")}, 500 try: ext = image_helper.get_extension(data["image"].filename) avatar = filename + ext avatar_path = image_helper.save_image(data["image"], folder=folder, name=avatar) basename = image_helper.get_basename(avatar) return {"message": gettext("avatar_uploaded").format(basename)} except UploadNotAllowed: extenstion = image_helper.get_extension(avatar_path) return { "message": gettext("image_illegal_extension").format(extenstion) }
def put(cls): """ Used to upload a user's Avatar. All Avatars are named after the user's ID, example: user_{id}.{ext}. Uploading a new Avatar overwrites the existing one. """ data = imageSchema.load(request.files) filename = f"user_{get_jwt_identity()}" folder = "avatars" avatar_path = image_helper.find_image_any_format(filename, folder) if avatar_path: try: os.remove(avatar_path) except: return {"message": "Avatar Delete Failed."}, 500 try: ext = image_helper.get_extension(data["image"].filename) avatar = filename + ext avatar_path = image_helper.save_image(data["image"], folder=folder, name=avatar) basename = image_helper.get_basename(avatar_path) return {"message": f"Avatar '{basename}' uploaded."}, 200 except UploadNotAllowed: extension = image_helper.get_extension(data['image']) return {"message": f"Extension '{extension}' is not allowed."}, 400
def get(cls, user_id: int): folder = "avatars" filename = f"user_{user_id}" avatar = image_helper.find_image_any_format(filename, folder) if avatar: return send_file(avatar) return {"message": f"Avatar '{avatar}' Not Found."}, 404
def put(cls): """ this endpoint is for uploading avatars. all avatars relate to user id overwrites existing avatars :return: """ data = image_schema.load(request.files) # {" image:fileStorage} filename = f"user_{get_jwt_identity()}" folder = "avatars" avatar_path = image_helper.find_image_any_format(filename, folder) if avatar_path: try: os.remove(avatar_path) except: traceback.print_exc() return {"message": gettext("avatar_delete_failed")}, 500 try: extension = image_helper.get_extension(data["image"].filename) avatar = filename + extension avatar_path = image_helper.save_image(data["image"], folder=folder, name=avatar) basename = image_helper.get_basename(avatar_path) return { "message": gettext("avatar_uploaded").format(basename) }, 200 except UploadNotAllowed: extension = image_helper.get_extension(data["image"]) return { "message": gettext("image_illegal_extension").format(extension) }, 400
def get(cls, user_id: int): folder = 'avatars' filename = f"user_{user_id}" avatar = image_helper.find_image_any_format(filename, folder) if avatar: return send_file(avatar) return {"message": AVATAR_NOT_FOUND}, 404
def put(cls): """All Avatars are named after user's ID. Something like this: user_{id}.{ext} """ data = image_schema.load(request.files) filename = f"user_{get_jwt_identity()}" folder = 'avatars' avatar_path = image_helper.find_image_any_format(filename, folder) if avatar_path: try: os.remove(avatar_path) except: return {'message': getext('avatar_delete_failed')}, 500 try: ext = image_helper.get_extension(data['image'].filename) avatar = filename + ext avatar_path = image_helper.save_image(data['image'], folder=folder, name=avatar) basename = image_helper.get_basename(avatar_path) return {'message': getext('avatar_uploaded').format(basename)}, 200 except UploadNotAllowed: extension = image_helper.get_extension(data['image']) return { 'message': getext('image_illegal_extension').format(extension) }, 400
def put(cls): data = image_schema.load(request.files) filename = f"user_{get_jwt_identity()}" folder = "avatars" avatar_path = image_helper.find_image_any_format(filename, folder) if avatar_path: try: os.remove(avatar_path) except: return {"message": gettext("avatar_delete_failed")}, 500 try: ext = image_helper.get_extension(data["image"].filename) avatar = filename + ext avatar_path = image_helper.save_image(data["image"], folder=folder, name=avatar) basename = image_helper.get_basename(avatar_path) return { "message": gettext("avatar_uploaded").format(basename) }, 200 except UploadNotAllowed: extension = image_helper.get_extension(data["image"]) return { "message": gettext("image_illegal_extension").format(extension) }, 400
def get(cls, user_id: int): folder = "avatars" filename = f"user_{user_id}" avatar = image_helper.find_image_any_format(filename, folder) if avatar: return send_file(avatar) return {"message": gettext("avatar_not_found")}, 400
def get(cls, user_id: int): folder = AVATAR_FOLDER filename = f"user_{get_jwt_identity()}" avatar_path = image_helper.find_image_any_format(filename, folder) if avatar_path: return send_file(avatar_path) return {"message": gettext("image_not_found")}, 400
def get(cls, user_id: int): folder = 'avatars' filename = f'user_{user_id}' avatar = image_helper.find_image_any_format(filename, folder) if avatar: return send_file(avatar) return {'message': gettext('avatar_not_found')}, 404
def put(self): """ This endpoint is used to upload user avatar. All avatars are named after the user's id in such format: user_{id}.{ext}. It will overwrite the existing avatar. """ data = image_schema.load(request.files) filename = f"user_{get_jwt_identity()}" folder = "avatars" avatar_path = image_helper.find_image_any_format(filename, folder) if avatar_path: try: os.remove(avatar_path) except: return {"message": gettext("avatar_delete_failed")}, 500 try: ext = image_helper.get_extension(data["image"].filename) avatar = filename + ext # use our naming format + true extension avatar_path = image_helper.save_image(data["image"], folder=folder, name=avatar) basename = image_helper.get_basename(avatar_path) return { "message": gettext("avatar_uploaded").format(basename) }, 200 except UploadNotAllowed: #forbidden file type extension = image_helper.get_extension(data["image"]) return { "message": gettext("image_illegal_extension").format(extension) }, 400
def put(cls): """Upload user avatar. New avatar overwrites the existing one""" data = image_schema.load(request.files) filename = f"user_{get_jwt_identity()}" folder = "avatars" avatar_path = image_helper.find_image_any_format( filename, folder) #check if exists in any format if avatar_path: try: os.remove(avatar_path) except: return {"message": gettext("avatar_delete_failed")}, 500 try: ext = image_helper.get_extension(data["image"].filename) avatar = filename + ext avatar_path = image_helper.save_image( data["image"], folder=folder, name=avatar) # overwrite name with avatar variable basename = image_helper.get_basename(avatar_path) return {"messge": gettext("avatar_uploaded").format(basename)}, 200 except UploadNotAllowed: extension = image_helper.get_extension(data["image"]) return { "message": gettext("image_illegal_extension").format(extension) }, 400
def get(cls, user_id: int): """ This endpoint returns the avatar of the user specified by user_id. """ folder = "avatars" filename = f"user_{user_id}" avatar = image_helper.find_image_any_format(filename, folder) if avatar: return send_file(avatar) return {"message": gettext("avatar_not_found")}, 404
def put(cls): data = image_schema.load(request.files) filename = f"user_{get_jwt_identity()}" folder = "avatars" avatar_path = image_helper.find_image_any_format(filename, folder) if avatar_path: try: os.remove(avatar_path) except: return {"message": AVATAR_DELETE_FAILED}, 500 try: ext = image_helper.get_extension(data['image'].filename) avatar = filename + ext avatar_path = image_helper.save_image(data["image"], folder=folder, name=avatar) basename = image_helper.get_basename(avatar_path) return {"message": AVATAR_UPLOADED.format(basename)}, 200 except UploadNotAllowed: extension = image_helper.get_extension(data['image']) return {"message": IMAGE_ILLEGAL_EXTENSION.format(extension)}, 400