diff --git a/unshackle/core/config.py b/unshackle/core/config.py index 6eb7b26..26c6400 100644 --- a/unshackle/core/config.py +++ b/unshackle/core/config.py @@ -94,6 +94,7 @@ class Config: self.update_checks: bool = kwargs.get("update_checks", True) self.update_check_interval: int = kwargs.get("update_check_interval", 24) self.scene_naming: bool = kwargs.get("scene_naming", True) + self.dash_naming: bool = kwargs.get("dash_naming", False) self.series_year: bool = kwargs.get("series_year", True) self.title_cache_time: int = kwargs.get("title_cache_time", 1800) # 30 minutes default diff --git a/unshackle/core/titles/episode.py b/unshackle/core/titles/episode.py index 6592b60..549d54f 100644 --- a/unshackle/core/titles/episode.py +++ b/unshackle/core/titles/episode.py @@ -109,13 +109,31 @@ class Episode(Title): name += f" {self.year}" name += f" S{self.season:02}" else: - name = "{title}{year} S{season:02}E{number:02} {name}".format( - title=self.title.replace("$", "S"), # e.g., Arli$$ - year=f" {self.year}" if self.year and config.series_year else "", - season=self.season, - number=self.number, - name=self.name or "", - ).strip() + if config.dash_naming: + # Format: Title - SXXEXX - Episode Name + name = self.title.replace("$", "S") # e.g., Arli$$ + + # Add year if configured + if self.year and config.series_year: + name += f" {self.year}" + + # Add season and episode + name += f" - S{self.season:02}E{self.number:02}" + + # Add episode name with dash separator + if self.name: + name += f" - {self.name}" + + name = name.strip() + else: + # Standard format without extra dashes + name = "{title}{year} S{season:02}E{number:02} {name}".format( + title=self.title.replace("$", "S"), # e.g., Arli$$ + year=f" {self.year}" if self.year and config.series_year else "", + season=self.season, + number=self.number, + name=self.name or "", + ).strip() if config.scene_naming: # Resolution diff --git a/unshackle/core/titles/movie.py b/unshackle/core/titles/movie.py index 1545b18..457e233 100644 --- a/unshackle/core/titles/movie.py +++ b/unshackle/core/titles/movie.py @@ -47,6 +47,8 @@ class Movie(Title): def __str__(self) -> str: if self.year: + if config.dash_naming: + return f"{self.name} - {self.year}" return f"{self.name} ({self.year})" return self.name