1
0
mirror of https://github.com/Sonarr/Sonarr.git synced 2026-04-26 22:56:23 -04:00

New: Series custom filter for Monitored Episodes

Closes #7552
This commit is contained in:
Mark McDowall
2025-12-24 16:52:29 -08:00
parent ee875ae654
commit 5f8297da6c
13 changed files with 96 additions and 51 deletions
+4 -3
View File
@@ -683,6 +683,7 @@
"Episodes": "Episodes",
"EpisodesInSeason": "{episodeCount} episodes in season",
"EpisodesLoadError": "Unable to load episodes",
"EpisodesMonitoredStatus": "Episodes Monitored",
"Error": "Error",
"ErrorLoadingContent": "There was an error loading this content",
"ErrorLoadingContents": "Error loading contents",
@@ -1282,8 +1283,11 @@
"MonitorSpecialEpisodes": "Monitor Specials",
"MonitorSpecialEpisodesDescription": "Monitor all special episodes without changing the monitored status of other episodes",
"Monitored": "Monitored",
"MonitoredAll": "All",
"MonitoredEpisodesHelpText": "Download monitored episodes in this series",
"MonitoredNone": "None",
"MonitoredOnly": "Monitored Only",
"MonitoredPartial": "Partial",
"MonitoredStatus": "Monitored/Status",
"Monitoring": "Monitoring",
"MonitoringOptions": "Monitoring Options",
@@ -1892,9 +1896,6 @@
"SeasonPremiere": "Season Premiere",
"SeasonPremieresOnly": "Season Premieres Only",
"Seasons": "Seasons",
"SeasonsMonitoredAll": "All",
"SeasonsMonitoredNone": "None",
"SeasonsMonitoredPartial": "Partial",
"SeasonsMonitoredStatus": "Seasons Monitored",
"SecretToken": "Secret Token",
"Security": "Security",
@@ -18,6 +18,7 @@ namespace NzbDrone.Core.SeriesStats
public int EpisodeCount { get; set; }
public int AvailableEpisodeCount { get; set; }
public int TotalEpisodeCount { get; set; }
public int MonitoredEpisodeCount { get; set; }
public long SizeOnDisk { get; set; }
public string ReleaseGroupsString { get; set; }
@@ -13,6 +13,7 @@ namespace NzbDrone.Core.SeriesStats
public int EpisodeFileCount { get; set; }
public int EpisodeCount { get; set; }
public int TotalEpisodeCount { get; set; }
public int MonitoredEpisodeCount { get; set; }
public long SizeOnDisk { get; set; }
public List<string> ReleaseGroups { get; set; }
public List<SeasonStatistics> SeasonStatistics { get; set; }
@@ -79,6 +79,7 @@ namespace NzbDrone.Core.SeriesStats
SUM(CASE WHEN ""AirDateUtc"" <= @currentDate OR ""EpisodeFileId"" > 0 THEN 1 ELSE 0 END) AS AvailableEpisodeCount,
SUM(CASE WHEN (""Monitored"" = {trueIndicator} AND ""AirDateUtc"" <= @currentDate) OR ""EpisodeFileId"" > 0 THEN 1 ELSE 0 END) AS EpisodeCount,
SUM(CASE WHEN ""EpisodeFileId"" > 0 THEN 1 ELSE 0 END) AS EpisodeFileCount,
SUM(CASE WHEN ""Monitored"" = {trueIndicator} THEN 1 ELSE 0 END) AS MonitoredEpisodeCount,
MIN(CASE WHEN ""AirDateUtc"" < @currentDate OR ""Monitored"" = {falseIndicator} THEN NULL ELSE ""AirDateUtc"" END) AS NextAiringString,
MAX(CASE WHEN ""AirDateUtc"" >= @currentDate OR ""Monitored"" = {falseIndicator} THEN NULL ELSE ""AirDateUtc"" END) AS PreviousAiringString,
MAX(""AirDate"") AS LastAiredString",
@@ -46,6 +46,7 @@ namespace NzbDrone.Core.SeriesStats
EpisodeFileCount = seasonStatistics.Sum(s => s.EpisodeFileCount),
EpisodeCount = seasonStatistics.Sum(s => s.EpisodeCount),
TotalEpisodeCount = seasonStatistics.Sum(s => s.TotalEpisodeCount),
MonitoredEpisodeCount = seasonStatistics.Sum(s => s.MonitoredEpisodeCount),
SizeOnDisk = seasonStatistics.Sum(s => s.SizeOnDisk),
ReleaseGroups = seasonStatistics.SelectMany(s => s.ReleaseGroups).Distinct().ToList()
};
@@ -9,6 +9,7 @@ public class SeasonStatisticsResource
public int EpisodeFileCount { get; set; }
public int EpisodeCount { get; set; }
public int TotalEpisodeCount { get; set; }
public int MonitoredEpisodeCount { get; set; }
public long SizeOnDisk { get; set; }
public List<string>? ReleaseGroups { get; set; }
@@ -37,6 +38,7 @@ public static class SeasonStatisticsResourceMapper
EpisodeFileCount = model.EpisodeFileCount,
EpisodeCount = model.EpisodeCount,
TotalEpisodeCount = model.TotalEpisodeCount,
MonitoredEpisodeCount = model.MonitoredEpisodeCount,
SizeOnDisk = model.SizeOnDisk,
ReleaseGroups = model.ReleaseGroups
};
@@ -8,6 +8,7 @@ public class SeriesStatisticsResource
public int EpisodeFileCount { get; set; }
public int EpisodeCount { get; set; }
public int TotalEpisodeCount { get; set; }
public int MonitoredEpisodeCount { get; set; }
public long SizeOnDisk { get; set; }
public List<string>? ReleaseGroups { get; set; }
@@ -35,6 +36,7 @@ public static class SeriesStatisticsResourceMapper
EpisodeFileCount = model.EpisodeFileCount,
EpisodeCount = model.EpisodeCount,
TotalEpisodeCount = model.TotalEpisodeCount,
MonitoredEpisodeCount = model.MonitoredEpisodeCount,
SizeOnDisk = model.SizeOnDisk,
ReleaseGroups = model.ReleaseGroups
};