Updated table to use check boxes for future selections. Added short circuiting when parsing seasons

This commit is contained in:
2026-02-12 19:27:41 -07:00
parent d73153ad37
commit d6bdfb95c7
4 changed files with 56 additions and 19 deletions

View File

@@ -1,5 +1,5 @@
<Project>
<PropertyGroup>
<AssemblyVersion>0.0.0.11</AssemblyVersion>
<AssemblyVersion>0.0.0.12</AssemblyVersion>
</PropertyGroup>
</Project>

View File

@@ -25,3 +25,7 @@ td, th {
.links:hover {
background-color: #2a2a2a;
}
.actions-cell {
text-align: center;
}

View File

@@ -80,7 +80,8 @@ const populateTables = async () => {
cell1.innerHTML = moviesInfo[i].Name;
// Will need to be enabled once radarr and sonarr integration is enabled.
// Maybe change this to an element to remove hard coding.
cell2.innerHTML = "<button type=\"button\" disabled>Delete</button>";
cell2.innerHTML = "<input type=\"checkbox\" disabled />";
cell2.className = "actions-cell";
}
}
else{
@@ -101,7 +102,7 @@ const populateTables = async () => {
cell2.innerHTML = seriesInfo[i].Seasons.map(season => season.replace("Season ", "")).join(", ");
// Will need to be enabled once radarr and sonarr integration is enabled.
// Maybe change this to an element to remove hard coding.
cell3.innerHTML = "<button type=\"button\" disabled>Delete</button>";
cell3.innerHTML = "<input type=\"checkbox\" disabled />";
cell3.className = "actions-cell";
}
}

View File

@@ -154,21 +154,10 @@ public sealed class StaleMediaScanner
return staleMovies;
}
private List<BaseItem> GetStaleSeasons(BaseItem item)
private IEnumerable<BaseItem> GetStaleSeasonsWithShortCircuitOnNonStaleSeason(IEnumerable<BaseItem> seasons)
{
_loggingHelper.LogDebugInformation("-------------------------------------------------");
_loggingHelper.LogDebugInformation("Debug data for series: {SeriesName}", item.Name);
_loggingHelper.LogDebugInformation("-------------------------------------------------");
var seasons = _libraryManager.GetItemList(new InternalItemsQuery
foreach (BaseItem season in seasons)
{
ParentId = item.Id,
Recursive = false
});
List<BaseItem> staleSeasons = [ ..seasons
.Where(season => {
var episodes = _libraryManager.GetItemList(new InternalItemsQuery
{
ParentId = season.Id,
@@ -185,14 +174,57 @@ public sealed class StaleMediaScanner
}
catch (ArgumentNullException ex)
{
_loggingHelper.LogInformation("Arguement Null Exception in GetStaleSeasons!");
_loggingHelper.LogInformation("Argument Null Exception in GetStaleSeasons!");
_loggingHelper.LogInformation(ex.Message);
}
_loggingHelper.LogDebugInformation("End of season debug information for {SeasonNumber}.", season);
return isSeasonDataStale;
})];
if (!isSeasonDataStale) yield break;
yield return season;
}
}
private List<BaseItem> GetStaleSeasons(BaseItem item)
{
_loggingHelper.LogDebugInformation("-------------------------------------------------");
_loggingHelper.LogDebugInformation("Debug data for series: {SeriesName}", item.Name);
_loggingHelper.LogDebugInformation("-------------------------------------------------");
var seasons = _libraryManager.GetItemList(new InternalItemsQuery
{
ParentId = item.Id,
Recursive = false
});
List<BaseItem> staleSeasons = [.. GetStaleSeasonsWithShortCircuitOnNonStaleSeason(seasons)];
// [ ..seasons
// .Where(season => {
// var episodes = _libraryManager.GetItemList(new InternalItemsQuery
// {
// ParentId = season.Id,
// Recursive = false
// });
// _loggingHelper.LogDebugInformation("Season debug information for {SeasonNumber}:", season);
// bool isSeasonDataStale = false;
// try
// {
// isSeasonDataStale = _seriesHelper.IsSeasonDataStale(episodes);
// }
// catch (ArgumentNullException ex)
// {
// _loggingHelper.LogInformation("Arguement Null Exception in GetStaleSeasons!");
// _loggingHelper.LogInformation(ex.Message);
// }
// _loggingHelper.LogDebugInformation("End of season debug information for {SeasonNumber}.", season);
// return isSeasonDataStale;
// })];
_loggingHelper.LogDebugInformation("-------------------------------------------------");