diff --git a/app.py b/app.py index c0ad3e0..5c731c2 100644 --- a/app.py +++ b/app.py @@ -155,6 +155,7 @@ class Receipt(db.Model): filesize = db.Column(db.Integer, nullable=True) file_hash = db.Column(db.String(64), nullable=True, unique=True) + with app.app_context(): db.create_all() from werkzeug.security import generate_password_hash @@ -256,11 +257,12 @@ def enrich_list_data(l): l.total_expense = sum(e.amount for e in expenses) return l + def save_resized_image(file, path): try: image = Image.open(file) - image.verify() # sprawdzenie poprawności pliku - file.seek(0) # reset do początku + image.verify() # sprawdzenie poprawności pliku + file.seek(0) # reset do początku image = Image.open(file) # ponowne otwarcie po verify() except Exception: raise ValueError("Nieprawidłowy plik graficzny") @@ -989,7 +991,10 @@ def upload_receipt(list_id): db.session.add(new_receipt) db.session.commit() - if request.is_json or request.headers.get("X-Requested-With") == "XMLHttpRequest": + if ( + request.is_json + or request.headers.get("X-Requested-With") == "XMLHttpRequest" + ): url = url_for("uploaded_file", filename=webp_filename) socketio.emit("receipt_added", {"url": url}, to=str(list_id)) return jsonify({"success": True, "url": url}) @@ -1000,7 +1005,6 @@ def upload_receipt(list_id): return _receipt_error("Niedozwolony format pliku") - @app.route("/uploads/") def uploaded_file(filename): response = send_from_directory(app.config["UPLOAD_FOLDER"], filename) @@ -1264,6 +1268,7 @@ def rotate_receipt(receipt_id): return redirect(request.referrer or url_for("admin_receipts", id="all")) + @app.route("/admin/rename_receipt/") @login_required @admin_required @@ -1317,6 +1322,7 @@ def delete_receipt(receipt_id): return redirect(request.referrer or url_for("admin_receipts", id="all")) + @app.route("/admin/generate_receipt_hash/") @login_required @admin_required @@ -1332,6 +1338,7 @@ def generate_receipt_hash(receipt_id): return redirect(request.referrer) import hashlib + try: with open(file_path, "rb") as f: file_hash = hashlib.sha256(f.read()).hexdigest()