This commit is contained in:
16
main.py
16
main.py
@@ -91,13 +91,21 @@ def csv_output():
|
|||||||
select_medium_id = moviedb_func.search_id(
|
select_medium_id = moviedb_func.search_id(
|
||||||
search_name=select_medium, select_from="medium", select_where="medium")
|
search_name=select_medium, select_from="medium", select_where="medium")
|
||||||
|
|
||||||
if moviedb_func.scrape_and_add_movie(movie_name=select_add_movie,
|
add_status = moviedb_func.scrape_and_add_movie(movie_name=select_add_movie,
|
||||||
medium_id=select_medium_id, user_id=current_user.id):
|
medium_id=select_medium_id, user_id=current_user.id)
|
||||||
|
|
||||||
|
if add_status == "success":
|
||||||
flash("Film erfolgreich hinzugefügt!")
|
flash("Film erfolgreich hinzugefügt!")
|
||||||
return redirect(url_for('index'))
|
return redirect(url_for('index'))
|
||||||
else:
|
elif add_status == "duplicate":
|
||||||
flash("Film konnte nicht automatisch hinzugefügt werden. Bitte versuchen Sie die manuelle Eingabe.")
|
flash("Fehler: Dieser Film existiert bereits in deiner Liste.")
|
||||||
|
return redirect(url_for('add_movie'))
|
||||||
|
elif add_status == "not_found_imdb":
|
||||||
|
flash("Film konnte nicht bei IMDb gefunden werden. Bitte versuchen Sie die manuelle Eingabe.")
|
||||||
return redirect(url_for('add_movie_manually', movie_name=select_add_movie, medium_id=select_medium_id))
|
return redirect(url_for('add_movie_manually', movie_name=select_add_movie, medium_id=select_medium_id))
|
||||||
|
else: # "error" or any other unexpected status
|
||||||
|
flash("Ein unerwarteter Fehler ist aufgetreten. Film konnte nicht hinzugefügt werden.")
|
||||||
|
return redirect(url_for('add_movie'))
|
||||||
|
|
||||||
@app.get("/add_movie_manually")
|
@app.get("/add_movie_manually")
|
||||||
@login_required
|
@login_required
|
||||||
|
|||||||
@@ -248,11 +248,11 @@ def search_id(search_name: str, select_from: str = "genre", select_where: str =
|
|||||||
def scrape_and_add_movie(movie_name: str, medium_id: int, user_id: int, db_name: str = "movie_db.db"):
|
def scrape_and_add_movie(movie_name: str, medium_id: int, user_id: int, db_name: str = "movie_db.db"):
|
||||||
url = imdb_suche.suche_film_url(movie_name)
|
url = imdb_suche.suche_film_url(movie_name)
|
||||||
if not url:
|
if not url:
|
||||||
return False
|
return "not_found_imdb"
|
||||||
|
|
||||||
details = get_movie_details(url + "/")
|
details = get_movie_details(url + "/")
|
||||||
if not details:
|
if not details:
|
||||||
return False
|
return "not_found_imdb"
|
||||||
|
|
||||||
regie_id = None
|
regie_id = None
|
||||||
if details.get("director"):
|
if details.get("director"):
|
||||||
@@ -272,10 +272,16 @@ def scrape_and_add_movie(movie_name: str, medium_id: int, user_id: int, db_name:
|
|||||||
with DBcm.UseDatabase(db_name) as db:
|
with DBcm.UseDatabase(db_name) as db:
|
||||||
db.execute(SQL_PARAM, (movie_name.lower(), genre_id,
|
db.execute(SQL_PARAM, (movie_name.lower(), genre_id,
|
||||||
regie_id, medium_id, release_year, user_id,))
|
regie_id, medium_id, release_year, user_id,))
|
||||||
except (ProgrammingError, sqlite3.IntegrityError) as e:
|
except sqlite3.IntegrityError as e:
|
||||||
|
print(f"Error adding movie (duplicate): {e}")
|
||||||
|
return "duplicate"
|
||||||
|
except ProgrammingError as e:
|
||||||
print(f"Error adding movie: {e}")
|
print(f"Error adding movie: {e}")
|
||||||
return False
|
return "error"
|
||||||
return True
|
except Exception as e:
|
||||||
|
print(f"An unexpected error occurred: {e}")
|
||||||
|
return "error"
|
||||||
|
return "success"
|
||||||
|
|
||||||
|
|
||||||
def add_manual_movie(movie_name: str, medium_id: int, director_name: str, release_year: int, genre_name: str, user_id: int, db_name: str = "movie_db.db"):
|
def add_manual_movie(movie_name: str, medium_id: int, director_name: str, release_year: int, genre_name: str, user_id: int, db_name: str = "movie_db.db"):
|
||||||
|
|||||||
Reference in New Issue
Block a user