def delete_image(id): image = UserImages.get_image(id) if not image: abort(404) if image.owner.username != session["user"]: flash("Don't try to delete other\'s dude\'s pictures...dude") return redirect(url_for("index")) else: try: UserImages.delete_image(image) except: error = "Error occured when writing to database" flash(error) return redirect(url_for("index")) if image.imgur_img: resp = ImgurHandler(get_config().imgur_id).delete_image(image.delete_hash) if not resp["success"]: handle_errors(resp) return redirect(url_for("user_images", username=session["user"]))
def gallery(page): if not get_config().show_gallery: return redirect(url_for("index")) per_page = settings.get("images_per_page", 10) images = UserImages.get_gallery_images(page=page, per_page=per_page, gallery=True) if not tuple(images) and page != 1: abort(404) count = images.wrapped_count() show_pagination = count > per_page thumbnail_size = settings.get("thumbnail_size", "l") images_uploaded = count > 0 pagination = Pagination(page, per_page, count) return render_template("gallery.html", images_uploaded=images_uploaded, pagination=pagination, thumbnail_size=thumbnail_size, images=images, show_pagination=show_pagination)
def delete_image(id): image = UserImages.get_image(id) if not image: abort(404) if image.owner.username != session["user"]: flash("Don't try to delete other\'s dude\'s pictures...dude") return redirect(url_for("index")) else: try: UserImages.delete_image(image) except: error = "Error occured when writing to database" flash(error) return redirect(url_for("index")) if image.imgur_img: resp = ImgurHandler(get_config().imgur_id).delete_image( image.delete_hash) if not resp["success"]: handle_errors(resp) return redirect(url_for("user_images", username=session["user"]))
def upload_image(): error = None if request.method == "POST": description = request.form.get('description', None) if request.form.get("imgur-img"): image = request.files["image"] if not image: error = "No image chosen" return render_template("upload_image.html", error=error) user_id = get_config().imgur_id extension = split_filename(image.filename, True) if extension not in app.config["ALLOWED_FILENAMES"]: error = "Allowed extensions are %r"\ % (", ".join(app.config["ALLOWED_FILENAMES"])) return render_template("upload_image.html", error=error) filename = secure_filename(image.filename.strip()) user = Users.get_user_by_username(session["user"]) config = dict( image=image, name=filename, description=description) response = ImgurHandler(user_id, config).send_image() if not response["success"]: error = "Error uploading to imgur" return render_template("upload_image.html", error=error) response_data = response["data"] image_link = response_data["link"] is_vertical = response_data["width"] + 10 < response_data["height"] delete_hash = response_data["deletehash"] try: UserImages.add_image(image_link=image_link, description=description, delete_hash=delete_hash, is_vertical=is_vertical, imgur_img=True, owner=user) return redirect(url_for("user_images", username=user.username)) except: error = "Error writing to database" return render_template("upload_image.html", error=error) return render_template("upload_image.html", error=response) elif request.form.get('save-link'): link = request.form.get('image-link', None) if not link: error = "No link given" return render_template("upload_image.html", error=error) user = Users.get_user_by_username(session["user"]) try: UserImages.add_image(image_link=link, description=description, is_vertical=True, imgur_img=False, owner=user) return redirect(url_for("user_images", username=user.username)) except Exception as e: error = "Error writing to database" return render_template("upload_image.html", error=error) else: return render_template("upload_image.html")
def upload_image(): error = None if request.method == "POST": description = request.form.get('description', None) if request.form.get("imgur-img"): image = request.files["image"] if not image: error = "No image chosen" return render_template("upload_image.html", error=error) user_id = get_config().imgur_id extension = split_filename(image.filename, True) if extension not in app.config["ALLOWED_FILENAMES"]: error = "Allowed extensions are %r"\ % (", ".join(app.config["ALLOWED_FILENAMES"])) return render_template("upload_image.html", error=error) filename = secure_filename(image.filename.strip()) user = Users.get_user_by_username(session["user"]) config = dict(image=image, name=filename, description=description) response = ImgurHandler(user_id, config).send_image() if not response["success"]: error = "Error uploading to imgur" return render_template("upload_image.html", error=error) response_data = response["data"] image_link = response_data["link"] is_vertical = response_data["width"] + 10 < response_data["height"] delete_hash = response_data["deletehash"] try: UserImages.add_image(image_link=image_link, description=description, delete_hash=delete_hash, is_vertical=is_vertical, imgur_img=True, owner=user) return redirect(url_for("user_images", username=user.username)) except: error = "Error writing to database" return render_template("upload_image.html", error=error) return render_template("upload_image.html", error=response) elif request.form.get('save-link'): link = request.form.get('image-link', None) if not link: error = "No link given" return render_template("upload_image.html", error=error) user = Users.get_user_by_username(session["user"]) try: UserImages.add_image(image_link=link, description=description, is_vertical=True, imgur_img=False, owner=user) return redirect(url_for("user_images", username=user.username)) except Exception as e: error = "Error writing to database" return render_template("upload_image.html", error=error) else: return render_template("upload_image.html")