mirror of
https://github.com/EstrellaXD/Auto_Bangumi.git
synced 2026-05-16 14:03:44 +08:00
fix(renamer): improve episode offset warning messages (#962)
The warning "Episode offset 0 would result in negative episode" was misleading and caused log spam. The actual issue was either: 1. Parsed episode was 0 or negative (parsing failure or special episode) 2. A negative offset would make a valid episode negative Changes: - Differentiate between parsing issues vs offset issues in log messages - Use debug level for parsed episode issues (likely special episodes) - Keep warning level only for actual offset problems - Include original episode value in warning for better debugging - Handle edge case where parsed episode is 0 by falling back to 1 Fixes #962 Generated with [Claude Code](https://claude.ai/code) via [Happy](https://happy.engineering) Co-Authored-By: Claude <noreply@anthropic.com> Co-Authored-By: Happy <yesreply@happy.engineering>
This commit is contained in:
@@ -39,12 +39,22 @@ class Renamer(DownloadClient):
|
||||
season_num = file_info.season
|
||||
season = f"0{season_num}" if season_num < 10 else season_num
|
||||
# Apply episode offset
|
||||
adjusted_episode = int(file_info.episode) + episode_offset
|
||||
original_episode = int(file_info.episode)
|
||||
adjusted_episode = original_episode + episode_offset
|
||||
if adjusted_episode < 1:
|
||||
adjusted_episode = int(file_info.episode) # Safety: don't go below 1
|
||||
logger.warning(
|
||||
f"[Renamer] Episode offset {episode_offset} would result in negative episode, ignoring"
|
||||
)
|
||||
if original_episode < 1:
|
||||
# Parsed episode is 0 or negative - likely a parsing issue or special episode
|
||||
# Use episode 1 as fallback to avoid invalid filenames
|
||||
adjusted_episode = 1
|
||||
logger.debug(
|
||||
f"[Renamer] Parsed episode {original_episode} is invalid, using episode 1"
|
||||
)
|
||||
else:
|
||||
# Offset would make episode negative - ignore the offset
|
||||
adjusted_episode = original_episode
|
||||
logger.warning(
|
||||
f"[Renamer] Episode offset {episode_offset} would make episode {original_episode} negative, ignoring offset"
|
||||
)
|
||||
episode = f"0{adjusted_episode}" if adjusted_episode < 10 else adjusted_episode
|
||||
if method == "none" or method == "subtitle_none":
|
||||
return file_info.media_path
|
||||
@@ -95,9 +105,10 @@ class Renamer(DownloadClient):
|
||||
):
|
||||
# Season comes from folder which already has offset applied
|
||||
# Only apply episode offset
|
||||
adjusted_episode = int(ep.episode) + episode_offset
|
||||
original_ep = int(ep.episode)
|
||||
adjusted_episode = original_ep + episode_offset
|
||||
if adjusted_episode < 1:
|
||||
adjusted_episode = int(ep.episode)
|
||||
adjusted_episode = 1 if original_ep < 1 else original_ep
|
||||
return Notification(
|
||||
official_title=bangumi_name,
|
||||
season=ep.season,
|
||||
|
||||
Reference in New Issue
Block a user