fix off by one error

main
chatton 2 years ago
parent 30f295a508
commit fc822c2e2e

@ -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}")

Loading…
Cancel
Save