fix download poster
This commit is contained in:
@@ -20,6 +20,7 @@ ALLOWED_EXTENSIONS = {'csv'}
|
|||||||
|
|
||||||
user_csvs = {}
|
user_csvs = {}
|
||||||
|
|
||||||
|
|
||||||
@lru_cache(maxsize=1000)
|
@lru_cache(maxsize=1000)
|
||||||
def get_poster_url(movie_name, movie_year):
|
def get_poster_url(movie_name, movie_year):
|
||||||
movie = tmdb_service.search_movie(movie_name, movie_year)
|
movie = tmdb_service.search_movie(movie_name, movie_year)
|
||||||
@@ -29,6 +30,7 @@ def get_poster_url(movie_name, movie_year):
|
|||||||
return posters[0]
|
return posters[0]
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
|
||||||
@api_bp.route('/movies', methods=['GET'])
|
@api_bp.route('/movies', methods=['GET'])
|
||||||
def get_movies():
|
def get_movies():
|
||||||
user_id = session.get('user_id') # Récupérer l'ID de l'utilisateur de la session
|
user_id = session.get('user_id') # Récupérer l'ID de l'utilisateur de la session
|
||||||
@@ -66,7 +68,7 @@ def get_movies():
|
|||||||
'id': start_index + i + 1,
|
'id': start_index + i + 1,
|
||||||
'Watched Date': movie['Watched Date'],
|
'Watched Date': movie['Watched Date'],
|
||||||
'Name': movie['Name'],
|
'Name': movie['Name'],
|
||||||
'Year': movie['Year'],
|
'Year': movie['Year'],
|
||||||
'Poster': get_poster_url(movie['Name'], movie['Year']),
|
'Poster': get_poster_url(movie['Name'], movie['Year']),
|
||||||
}
|
}
|
||||||
for i, movie in enumerate(movies)
|
for i, movie in enumerate(movies)
|
||||||
@@ -82,9 +84,9 @@ def get_movies():
|
|||||||
print(f"Error in get_movies: {str(e)}")
|
print(f"Error in get_movies: {str(e)}")
|
||||||
return jsonify({'error': 'An error occurred while fetching movies'}), 500
|
return jsonify({'error': 'An error occurred while fetching movies'}), 500
|
||||||
|
|
||||||
|
|
||||||
@api_bp.route('/posters/<movie_name>/<movie_year>', methods=['GET'])
|
@api_bp.route('/posters/<movie_name>/<movie_year>', methods=['GET'])
|
||||||
def get_movie_posters(movie_name, movie_year):
|
def get_movie_posters(movie_name, movie_year):
|
||||||
|
|
||||||
tmdb_service = TMDBService()
|
tmdb_service = TMDBService()
|
||||||
|
|
||||||
movie = tmdb_service.search_movie(movie_name, movie_year)
|
movie = tmdb_service.search_movie(movie_name, movie_year)
|
||||||
@@ -95,9 +97,11 @@ def get_movie_posters(movie_name, movie_year):
|
|||||||
else:
|
else:
|
||||||
return jsonify({'error': 'Movie not found'}), 404
|
return jsonify({'error': 'Movie not found'}), 404
|
||||||
|
|
||||||
|
|
||||||
def allowed_file(filename):
|
def allowed_file(filename):
|
||||||
return '.' in filename and filename.rsplit('.', 1)[1].lower() in ALLOWED_EXTENSIONS
|
return '.' in filename and filename.rsplit('.', 1)[1].lower() in ALLOWED_EXTENSIONS
|
||||||
|
|
||||||
|
|
||||||
@api_bp.route('/upload-csv', methods=['POST'])
|
@api_bp.route('/upload-csv', methods=['POST'])
|
||||||
def upload_csv():
|
def upload_csv():
|
||||||
user_id = session.get('user_id')
|
user_id = session.get('user_id')
|
||||||
@@ -126,6 +130,7 @@ def upload_csv():
|
|||||||
return jsonify({'error': f'Error processing file: {str(e)}'}), 500
|
return jsonify({'error': f'Error processing file: {str(e)}'}), 500
|
||||||
return jsonify({'error': 'File type not allowed'}), 400
|
return jsonify({'error': 'File type not allowed'}), 400
|
||||||
|
|
||||||
|
|
||||||
@api_bp.route('/check-csv', methods=['GET'])
|
@api_bp.route('/check-csv', methods=['GET'])
|
||||||
def check_csv():
|
def check_csv():
|
||||||
user_id = session.get('user_id')
|
user_id = session.get('user_id')
|
||||||
@@ -139,6 +144,7 @@ def check_csv():
|
|||||||
print(f"Error in check_csv: {str(e)}")
|
print(f"Error in check_csv: {str(e)}")
|
||||||
return jsonify({'error': 'An error occurred while checking the CSV file'}), 500
|
return jsonify({'error': 'An error occurred while checking the CSV file'}), 500
|
||||||
|
|
||||||
|
|
||||||
@api_bp.route('/delete-csv', methods=['DELETE'])
|
@api_bp.route('/delete-csv', methods=['DELETE'])
|
||||||
def delete_csv():
|
def delete_csv():
|
||||||
user_id = session.get('user_id')
|
user_id = session.get('user_id')
|
||||||
@@ -169,12 +175,15 @@ def download_posters():
|
|||||||
for poster in selected_posters:
|
for poster in selected_posters:
|
||||||
movie_id = poster['movieId']
|
movie_id = poster['movieId']
|
||||||
poster_id = poster['posterId']
|
poster_id = poster['posterId']
|
||||||
poster_url = f"https://image.tmdb.org/t/p/w500{poster_id}"
|
watched_date = poster.get('watchedDate', 'unknown-date')
|
||||||
|
|
||||||
|
poster_url = f"https://image.tmdb.org/t/p/original{poster_id}"
|
||||||
|
|
||||||
try:
|
try:
|
||||||
response = requests.get(poster_url)
|
response = requests.get(poster_url)
|
||||||
if response.status_code == 200:
|
if response.status_code == 200:
|
||||||
zip_file.writestr(f"{movie_id}.jpg", response.content)
|
file_name = f"{watched_date}_{movie_id}.jpg"
|
||||||
|
zip_file.writestr(file_name, response.content)
|
||||||
else:
|
else:
|
||||||
print(f"Failed to download poster for movie ID {movie_id}")
|
print(f"Failed to download poster for movie ID {movie_id}")
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
|||||||
Reference in New Issue
Block a user