From b633cd11c3874a2498159dcbc5598826ad1d0bfd Mon Sep 17 00:00:00 2001 From: Hugo Pierret Date: Sat, 30 Nov 2024 14:31:37 +0100 Subject: [PATCH] Download updates --- src/api/__pycache__/routes.cpython-312.pyc | Bin 7453 -> 9560 bytes src/api/routes.py | 45 ++++++++---------- .../__pycache__/image_service.cpython-312.pyc | Bin 970 -> 999 bytes 3 files changed, 20 insertions(+), 25 deletions(-) diff --git a/src/api/__pycache__/routes.cpython-312.pyc b/src/api/__pycache__/routes.cpython-312.pyc index 33f28c8ea2e9f163d9eecc171d392f57ea63f3ca..c708ff4be014bde4e9ec6ddd407aee32dadc5633 100644 GIT binary patch delta 3242 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 GLgc@Ck2ur- 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 8135912153670a2fc888ec5f19d9a23747ccfa1b..d09cc6c31938d4993518c5caed773d784d98080f 100644 GIT binary patch delta 88 zcmX@b{+ylnG%qg~0}xz#VUa$4Bd<0SW71?xCUqHIm(0YXO5K3`;*!*&V%>nu