37 lines
1.1 KiB
Python
37 lines
1.1 KiB
Python
import os
|
|
import pandas as pd
|
|
import re
|
|
from pathlib import Path
|
|
|
|
def clean_filename(filename):
|
|
return re.sub(r'[\\/*?:"<>|]', '_', filename)
|
|
|
|
csv_file = './data/diary.csv'
|
|
movies = pd.read_csv(csv_file)
|
|
|
|
output_folder = 'posters'
|
|
|
|
poster_files = [f for f in os.listdir(output_folder) if os.path.isfile(os.path.join(output_folder, f))]
|
|
|
|
# Parcourir les films dans l'ordre du fichier CSV
|
|
for index, row in movies.iterrows():
|
|
title = row['Name']
|
|
year = row['Year']
|
|
safe_title = clean_filename(f"{title}_{year}")
|
|
|
|
# Trouver le fichier poster correspondant
|
|
for poster_file in poster_files:
|
|
if safe_title in poster_file:
|
|
# Déterminer le nouveau nom du fichier avec un préfixe basé sur l'index du film
|
|
new_name = f"{index+1:03d}_{poster_file}"
|
|
old_path = os.path.join(output_folder, poster_file)
|
|
new_path = os.path.join(output_folder, new_name)
|
|
|
|
# Renommer le fichier
|
|
os.rename(old_path, new_path)
|
|
print(f"Renommé : {poster_file} -> {new_name}")
|
|
break
|
|
else:
|
|
print(f"Poster non trouvé pour : {title} ({year})")
|
|
|
|
print("Tri terminé.") |