From 258480ef9d64f1bc0b5cc74dea1782368b6a4a01 Mon Sep 17 00:00:00 2001 From: Pierret Hugo Date: Sun, 22 Dec 2024 00:27:31 +0100 Subject: [PATCH] Fix poster downoad name files --- src/api/__pycache__/routes.cpython-312.pyc | Bin 9560 -> 9725 bytes src/api/routes.py | 55 ++++++++++++--------- 2 files changed, 33 insertions(+), 22 deletions(-) diff --git a/src/api/__pycache__/routes.cpython-312.pyc b/src/api/__pycache__/routes.cpython-312.pyc index c708ff4be014bde4e9ec6ddd407aee32dadc5633..66b36120bc8492da09167ea56ac5193bdda7880d 100644 GIT binary patch delta 1184 zcmYjQZD<>19DkmB$>nl+X_KtEBzJiaY24cAW}&U^wn~!Ccd!VJFlyXg)1+rQ6KU7wD#BI!?Fh2|{QVB>Agt{$b;=qheI`YK{75rvWMFkOju3cuI55N2U-+sS) z{@mSv_TT3$-&-sufX`?2bZ+NMOFsqqDS%)RC z?eNvUvmSy_uKj8Ikb?Qz`_7{ze5ZEX^(g^AKntE7}0RaRpQ zJ-aj9OfLXRRAVj!$*j>BEvr=3q>%+TTA&@Y33qzXmf#m3T~e~@eXB%A4T9w=a)<|E zH##P|7`x<+r$ldx`+qf(ZCAZZ^>^;2aUBJ$Ms+v@86bfw_a?Xe!`>5pBOY<@ zSL)fXfnIaFhW4-7wQtS*6mgp9=#4+rt-uO6OJ+a?#@#66d+KD9t7O&F)3TJzs`8@w zOmU`IsucSqJqk~&>U?=Pk;u@uDXx#L zPp`kap*AAPi|lNY7aM^Sw~U*M4d2W6`0>BnUYjKY z|DtuvRxi38oUjIWIneQ+KL*j^(CE1we&4spU@8p0rG|7Ijip@Vwdj~D8KbU`5IDGg zEQSj=Vrd3NUqn!JYLmn-<9Wp=jDg-t2~$-*nL! z;}K;LyD7&pG>KAKsRBR(WeNQjYQyvB=dj205iaS!Y54_2N5;Kv10cASC+|VNO&DO; z?<64HEuFROXdx2mD?mUP-xb~x8rH)buWX!H67Iren_%Iv-kO3fo$l}uPQaECU5kX^ bAo?W|fgWUv4m;y81NFXvHlb6+gN^?K?xiE* delta 967 zcmY*XTWlLe6rDTk^?KKjJnSSJ+v`{DQimokMvjW}5J)zW5(*Mgq_|RxD7#IYG&tSe zl2YuF@KcFa2=yW;iXuMfM-YgIEFtq(s3Q=3;Hs?(`Jz%k_(5_?Bv28eGfg94KF*wb z=bU>+qxpN{r*ZEOUavyf8vJel%$Hwy2OQAz;jlx3SZ%~T2hQHerB~k9YM*-Cw0(-n ztb+`e$d;1?qP1^*djXErw%XoxfKfXi7!_c-_I=M~3U6UK_^Wh}67n9AG2R`;YG^>H zfQ5&;V{VxT@-?gA$+jS^QXCT_&I;8<+k@V47$?FVpyQ#is_L$abA_zZsw5NJzinei z2c8uDZPLfE-Kn}NuGs)S=JdPexjlrKv5GL;gB?;pSs}WzO4+f>vi!JL^Jt-+F}k}V z^5HvUfLu6=Q`)28!)2{UYSY{Gj!!!A11%Jl?SEY!?$W(>bZ1UQ#-Fv2TRtmasOzN4 zcKkc>tcCK+mSH}}1Q!1l*cVT9o@Zp0civ%-y+m4$U3fU2 zz;p3ok54YamD9fj`|c7C{umE=N9(WF=bGC1+e*tJp_GUXsj*vX`kI0K3I8d^@ANhM$q-%KSz#m`dtKoUy8b-7K->4Wt9c~/', methods=['GET']) def get_movie_posters(movie_name, movie_year): - tmdb_service = TMDBService() - + movie = tmdb_service.search_movie(movie_name, movie_year) - + if movie: posters = tmdb_service.get_movie_posters(movie['id']) return jsonify({'posters': posters}) else: return jsonify({'error': 'Movie not found'}), 404 - + + def allowed_file(filename): return '.' in filename and filename.rsplit('.', 1)[1].lower() in ALLOWED_EXTENSIONS - + + @api_bp.route('/upload-csv', methods=['POST']) def upload_csv(): user_id = session.get('user_id') - + if 'file' not in request.files: return jsonify({'error': 'No file part'}), 400 file = request.files['file'] @@ -110,7 +114,7 @@ def upload_csv(): if file and allowed_file(file.filename): content = file.read() user_csvs[user_id] = content - + try: df = pd.read_csv(io.StringIO(content.decode('utf-8'))) df = df.rename(columns={ @@ -118,18 +122,19 @@ def upload_csv(): 'Name': 'Name', 'Year': 'Year' }) - + user_csvs[user_id] = df.to_csv(index=False) - + return jsonify({'success': True, 'message': 'File uploaded and processed successfully'}), 200 except Exception as e: return jsonify({'error': f'Error processing file: {str(e)}'}), 500 return jsonify({'error': 'File type not allowed'}), 400 + @api_bp.route('/check-csv', methods=['GET']) def check_csv(): user_id = session.get('user_id') - + try: if user_id in user_csvs: return jsonify({'fileExists': True}), 200 @@ -139,10 +144,11 @@ def check_csv(): print(f"Error in check_csv: {str(e)}") return jsonify({'error': 'An error occurred while checking the CSV file'}), 500 + @api_bp.route('/delete-csv', methods=['DELETE']) def delete_csv(): user_id = session.get('user_id') - + try: if user_id in user_csvs: del user_csvs[user_id] @@ -159,22 +165,27 @@ def download_posters(): try: data = request.get_json() selected_posters = data.get('posters', []) - + + print(data) + 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: # 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}" + watched_date = poster.get('watchedDate', 'unknown-date') + + poster_url = f"https://image.tmdb.org/t/p/original{poster_id}" try: response = requests.get(poster_url) 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: print(f"Failed to download poster for movie ID {movie_id}") except Exception as e: