From ac321527257507bea0ca81fe8864ec65f93d327a Mon Sep 17 00:00:00 2001 From: jonnybravo Date: Tue, 26 Aug 2025 16:54:54 +0200 Subject: [PATCH] try --- main.py | 13 +++++++++---- moviedb_func.py | 9 +++++---- templates/base.html | 11 +++++++++++ 3 files changed, 25 insertions(+), 8 deletions(-) diff --git a/main.py b/main.py index 44eb4d9..5e51d7c 100644 --- a/main.py +++ b/main.py @@ -52,7 +52,7 @@ def logout(): def index(): page = flask.request.args.get('page', 1, type=int) per_page = 20 - search_query = None + search_query = "" if flask.request.method == "POST": search_query = flask.request.form.get("search") else: @@ -93,8 +93,10 @@ def csv_output(): if moviedb_func.scrape_and_add_movie(movie_name=select_add_movie, medium_id=select_medium_id, user_id=current_user.id): + flash("Film erfolgreich hinzugefügt!") return redirect(url_for('index')) else: + flash("Film konnte nicht automatisch hinzugefügt werden. Bitte versuchen Sie die manuelle Eingabe.") return redirect(url_for('add_movie_manually', movie_name=select_add_movie, medium_id=select_medium_id)) @app.get("/add_movie_manually") @@ -118,9 +120,12 @@ def save_manual(): release_year = flask.request.form["release_year"] genre_name = flask.request.form["genre_name"] - moviedb_func.add_manual_movie(movie_name=movie_name, medium_id=int(medium_id), director_name=director_name, release_year=int(release_year), genre_name=genre_name, user_id=current_user.id) - - return redirect("/") + if moviedb_func.add_manual_movie(movie_name=movie_name, medium_id=int(medium_id), director_name=director_name, release_year=int(release_year), genre_name=genre_name, user_id=current_user.id): + flash("Film manuell erfolgreich hinzugefügt!") + return redirect("/") + else: + flash("Fehler: Film konnte nicht manuell hinzugefügt werden. Möglicherweise existiert dieser Film bereits in deiner Liste.") + return redirect(url_for('add_movie_manually', movie_name=movie_name, medium_id=medium_id)) @app.route("/delete_movie/", methods=["POST"]) @login_required diff --git a/moviedb_func.py b/moviedb_func.py index 095f4de..707813e 100644 --- a/moviedb_func.py +++ b/moviedb_func.py @@ -98,7 +98,8 @@ def create_movie_database(db_name="movie_db.db"): medium_id integer not null, release_year integer, user_id integer not null, - FOREIGN KEY (user_id) REFERENCES user (id) + FOREIGN KEY (user_id) REFERENCES user (id), + UNIQUE(titel, user_id) ) """ @@ -271,7 +272,7 @@ def scrape_and_add_movie(movie_name: str, medium_id: int, user_id: int, db_name: with DBcm.UseDatabase(db_name) as db: db.execute(SQL_PARAM, (movie_name.lower(), genre_id, regie_id, medium_id, release_year, user_id,)) - except ProgrammingError as e: + except (ProgrammingError, sqlite3.IntegrityError) as e: print(f"Error adding movie: {e}") return False return True @@ -288,8 +289,8 @@ def add_manual_movie(movie_name: str, medium_id: int, director_name: str, releas try: with DBcm.UseDatabase(db_name) as db: db.execute(SQL_PARAM, (movie_name.lower(), genre_id, - regie_id, medium_id, release_year, user_id,)) - except ProgrammingError as e: + regie_id, medium_id, release_year, user_id,)) + except (ProgrammingError, sqlite3.IntegrityError) as e: print(f"Error adding movie: {e}") return False return True diff --git a/templates/base.html b/templates/base.html index 00b43f8..3987979 100644 --- a/templates/base.html +++ b/templates/base.html @@ -29,6 +29,17 @@
+ {% with messages = get_flashed_messages() %} + {% if messages %} + + {% endif %} + {% endwith %} {% block body %}{% endblock %}