From fc822c2e2eb2de2647bcafa208aef5afa2d234e3 Mon Sep 17 00:00:00 2001 From: chatton Date: Sun, 6 Aug 2023 13:35:17 +0100 Subject: [PATCH] fix off by one error --- homelab/rename-one-piece.py | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/homelab/rename-one-piece.py b/homelab/rename-one-piece.py index 08aa4a9..f6be70a 100644 --- a/homelab/rename-one-piece.py +++ b/homelab/rename-one-piece.py @@ -30,7 +30,7 @@ ONE_PIECE_SEASON_COUNT = [ ONE_PIECE_DIR = "/mnt/mergerfs/media/tv/One Piece" -def _extract_episode_number(filename): +def _get_absolute_episode_number(filename): # [HorribleSubs] One Piece - 260 [1080p].mkv -> 260 return int(re.findall(r"\s(\d+)\s", filename)[0]) @@ -44,11 +44,11 @@ def _get_episode_season(absolute_number): return season -def _get_episode_number(season, absolute_number): +def _get_season_episode_number(season, absolute_number): relative_number = absolute_number - sum(ONE_PIECE_SEASON_COUNT[:season - 1]) missing_episode = 590 - if relative_number > missing_episode: - relative_number += 1 + if absolute_number > missing_episode: + relative_number -= 1 return relative_number @@ -61,17 +61,16 @@ def _get_new_name(relative_episode_number, actual_season): def main(): - # 589 -> 591 all_files = os.listdir(ONE_PIECE_DIR) for f in all_files: # skip files that have a season associated with them if "S0" in f: - print(f'Skipping {f}') + print(f"Skipping {f} as it is already in the correct format") continue - current_episode = _extract_episode_number(f) - episode_season = _get_episode_season(current_episode) - relative_episode_number = _get_episode_number(episode_season, current_episode) - new_name = _get_new_name(relative_episode_number, episode_season) + absolute_episode_number = _get_absolute_episode_number(f) + season = _get_episode_season(absolute_episode_number) + season_episode_number = _get_season_episode_number(season, absolute_episode_number) + new_name = _get_new_name(season_episode_number, season) print(f"Renaming {f} to {new_name}")