Media-Cleaner-Homepage-and-Api #9
@@ -1,5 +1,5 @@
|
|||||||
<Project>
|
<Project>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<AssemblyVersion>0.0.0.11</AssemblyVersion>
|
<AssemblyVersion>0.0.0.12</AssemblyVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
</Project>
|
</Project>
|
||||||
|
|||||||
@@ -25,3 +25,7 @@ td, th {
|
|||||||
.links:hover {
|
.links:hover {
|
||||||
background-color: #2a2a2a;
|
background-color: #2a2a2a;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.actions-cell {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|||||||
@@ -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";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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("-------------------------------------------------");
|
||||||
|
|||||||
Reference in New Issue
Block a user