@@ -67,20 +67,13 @@ def gen_path(
6767 # Apply episode offset
6868 original_episode = int (file_info .episode )
6969 adjusted_episode = original_episode + episode_offset
70- if adjusted_episode < 1 :
71- if original_episode < 1 :
72- # Parsed episode is 0 or negative - likely a parsing issue or special episode
73- # Use episode 1 as fallback to avoid invalid filenames
74- adjusted_episode = 1
75- logger .debug (
76- f"[Renamer] Parsed episode { original_episode } is invalid, using episode 1"
77- )
78- else :
79- # Offset would make episode negative - ignore the offset
80- adjusted_episode = original_episode
81- logger .warning (
82- f"[Renamer] Episode offset { episode_offset } would make episode { original_episode } negative, ignoring offset"
83- )
70+ # Episode 0 is valid (specials, OVAs, etc.) - only handle truly negative results
71+ if adjusted_episode < 0 :
72+ # Offset would make episode negative - ignore the offset
73+ adjusted_episode = original_episode
74+ logger .warning (
75+ f"[Renamer] Episode offset { episode_offset } would make episode { original_episode } negative, ignoring offset"
76+ )
8477 episode = f"0{ adjusted_episode } " if adjusted_episode < 10 else adjusted_episode
8578 if method == "none" or method == "subtitle_none" :
8679 return file_info .media_path
@@ -148,8 +141,9 @@ async def rename_file(
148141 # Only apply episode offset
149142 original_ep = int (ep .episode )
150143 adjusted_episode = original_ep + episode_offset
151- if adjusted_episode < 1 :
152- adjusted_episode = 1 if original_ep < 1 else original_ep
144+ # Episode 0 is valid - only handle truly negative results
145+ if adjusted_episode < 0 :
146+ adjusted_episode = original_ep
153147 return Notification (
154148 official_title = bangumi_name ,
155149 season = ep .season ,
0 commit comments