diff --git a/unshackle/core/config.py b/unshackle/core/config.py index 4c63761..6017114 100644 --- a/unshackle/core/config.py +++ b/unshackle/core/config.py @@ -91,6 +91,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.series_year: bool = kwargs.get("series_year", True) self.title_cache_time: int = kwargs.get("title_cache_time", 1800) # 30 minutes default self.title_cache_max_retention: int = kwargs.get("title_cache_max_retention", 86400) # 24 hours default diff --git a/unshackle/core/titles/episode.py b/unshackle/core/titles/episode.py index 0d16e96..f66bcb7 100644 --- a/unshackle/core/titles/episode.py +++ b/unshackle/core/titles/episode.py @@ -81,7 +81,7 @@ class Episode(Title): def __str__(self) -> str: return "{title}{year} S{season:02}E{number:02} {name}".format( title=self.title, - year=f" {self.year}" if self.year else "", + year=f" {self.year}" if self.year and config.series_year else "", season=self.season, number=self.number, name=self.name or "", @@ -95,13 +95,13 @@ class Episode(Title): # Title [Year] SXXEXX Name (or Title [Year] SXX if folder) if folder: name = f"{self.title}" - if self.year: + if self.year and config.series_year: 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 else "", + year=f" {self.year}" if self.year and config.series_year else "", season=self.season, number=self.number, name=self.name or "", @@ -197,7 +197,7 @@ class Series(SortedKeyList, ABC): def __str__(self) -> str: if not self: return super().__str__() - return self[0].title + (f" ({self[0].year})" if self[0].year else "") + return self[0].title + (f" ({self[0].year})" if self[0].year and config.series_year else "") def tree(self, verbose: bool = False) -> Tree: seasons = Counter(x.season for x in self) diff --git a/unshackle/unshackle-example.yaml b/unshackle/unshackle-example.yaml index 44cf7fd..dbca3e9 100644 --- a/unshackle/unshackle-example.yaml +++ b/unshackle/unshackle-example.yaml @@ -15,6 +15,11 @@ set_terminal_bg: false # false for style - Prime Suspect S07E01 The Final Act - Part One scene_naming: true +# Whether to include the year in series names for episodes and folders (default: true) +# true for style - Show Name (2023) S01E01 Episode Name +# false for style - Show Name S01E01 Episode Name +series_year: true + # Check for updates from GitHub repository on startup (default: true) update_checks: true