Media-Cleaner-Homepage-and-Api #9

Merged
T-Gander merged 4 commits from Media-Cleaner-Homepage-and-Api into main 2026-02-12 19:30:36 -07:00
4 changed files with 56 additions and 19 deletions
Showing only changes of commit d6bdfb95c7 - Show all commits

View File

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

View File

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

View File

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

View File

@@ -154,21 +154,10 @@ public sealed class StaleMediaScanner
return staleMovies; return staleMovies;
} }
private IEnumerable<BaseItem> GetStaleSeasonsWithShortCircuitOnNonStaleSeason(IEnumerable<BaseItem> seasons)
private List<BaseItem> GetStaleSeasons(BaseItem item)
{ {
_loggingHelper.LogDebugInformation("-------------------------------------------------"); foreach (BaseItem season in seasons)
_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 = [ ..seasons
.Where(season => {
var episodes = _libraryManager.GetItemList(new InternalItemsQuery var episodes = _libraryManager.GetItemList(new InternalItemsQuery
{ {
ParentId = season.Id, ParentId = season.Id,
@@ -185,14 +174,57 @@ public sealed class StaleMediaScanner
} }
catch (ArgumentNullException ex) catch (ArgumentNullException ex)
{ {
_loggingHelper.LogInformation("Arguement Null Exception in GetStaleSeasons!"); _loggingHelper.LogInformation("Argument Null Exception in GetStaleSeasons!");
_loggingHelper.LogInformation(ex.Message); _loggingHelper.LogInformation(ex.Message);
} }
_loggingHelper.LogDebugInformation("End of season debug information for {SeasonNumber}.", season); _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("-------------------------------------------------"); _loggingHelper.LogDebugInformation("-------------------------------------------------");