diff --git a/src/api/__pycache__/routes.cpython-312.pyc b/src/api/__pycache__/routes.cpython-312.pyc index 33f28c8..c708ff4 100644 Binary files a/src/api/__pycache__/routes.cpython-312.pyc and b/src/api/__pycache__/routes.cpython-312.pyc differ diff --git a/src/api/routes.py b/src/api/routes.py index 0958f5a..5cdce8d 100644 --- a/src/api/routes.py +++ b/src/api/routes.py @@ -156,37 +156,32 @@ def delete_csv(): @api_bp.route('/download-posters', methods=['POST']) def download_posters(): - user_id = session.get('user_id') - - if user_id not in user_csvs: - return jsonify({'error': 'No CSV file found. Please upload a CSV file.'}), 404 - - csv_content = user_csvs[user_id] - try: + data = request.get_json() + selected_posters = data.get('posters', []) + + if not selected_posters: + return jsonify({'error': 'No posters selected'}), 400 + zip_buffer = io.BytesIO() - with zipfile.ZipFile(zip_buffer, 'w', zipfile.ZIP_DEFLATED) as zip_file: - if isinstance(csv_content, bytes): - df = pd.read_csv(io.StringIO(csv_content.decode('utf-8'))) - else: - df = pd.read_csv(io.StringIO(csv_content)) + # Télécharger chaque poster + for poster in selected_posters: + movie_id = poster['movieId'] + poster_id = poster['posterId'] + poster_url = f"https://image.tmdb.org/t/p/w500{poster_id}" - movies = df.to_dict('records') - - for movie in movies: - poster_url = get_poster_url(movie['Name'], movie['Year']) - if poster_url: - try: - response = requests.get(poster_url) - if response.status_code == 200: - zip_file.writestr(f"{movie['Name']}_{movie['Year']}.jpg", response.content) - except Exception as e: - print(f"Error downloading poster for {movie['Name']}: {str(e)}") - continue + try: + response = requests.get(poster_url) + if response.status_code == 200: + zip_file.writestr(f"{movie_id}.jpg", response.content) + else: + print(f"Failed to download poster for movie ID {movie_id}") + except Exception as e: + print(f"Error downloading poster for movie ID {movie_id}: {str(e)}") + # Retourner le fichier ZIP zip_buffer.seek(0) - return send_file( zip_buffer, mimetype='application/zip', diff --git a/src/services/__pycache__/image_service.cpython-312.pyc b/src/services/__pycache__/image_service.cpython-312.pyc index 8135912..d09cc6c 100644 Binary files a/src/services/__pycache__/image_service.cpython-312.pyc and b/src/services/__pycache__/image_service.cpython-312.pyc differ