diff --git a/multiplex/multiplex.py b/multiplex/multiplex.py index 605e979..c7df299 100644 --- a/multiplex/multiplex.py +++ b/multiplex/multiplex.py @@ -51,9 +51,13 @@ def find_episode_file(source_dir, saison, episode): :param episode: Numéro de l'épisode :return: Chemin du fichier trouvé ou None """ - target = f"s0{saison}e{episode}".lower() - for file in glob.glob(os.path.join(source_dir, "*.mkv")): - if target in os.path.basename(file).lower(): + pattern = re.compile(rf"s{int(saison):02d}[ex]{int(episode):02d}", re.IGNORECASE) + p = Path(source_dir) + # On récupère tous les fichiers mkv ou mp4 en une seule liste + files = list(p.glob("*.mkv")) + list(p.glob("*.mp4")) + + for file in files: + if pattern.search(os.path.basename(file)): return file return None @@ -244,7 +248,11 @@ def main(): dest_dir = f"{args.dest}/{serie_name}/Saison {saison}" Path(dest_dir).mkdir(parents=True, exist_ok=True) - for i in range(1, 31): + # Compte le nombre de fichiers dans chaque répertoire source + count1 = sum(1 for _ in Path(source_dir_1).iterdir() if _.is_file()) + count2 = sum(1 for _ in Path(source_dir_2).iterdir() if _.is_file()) + + for i in range(1, max(count1, count2) + 1): episode = f"{i:02}" process_episode(episode, source_dir_1, source_dir_2, saison, serie_name, dest_dir) diff --git a/multiplex/setup.py b/multiplex/setup.py index 9bca0d0..558586d 100644 --- a/multiplex/setup.py +++ b/multiplex/setup.py @@ -2,7 +2,7 @@ from setuptools import setup setup( name='multiplex', - version='0.1.0', + version='0.1.1', description='Un script pour multiplexer les fichiers vidéo avec mkvmerge.', py_modules=['multiplex'], install_requires=[