Converted StaleMediaTask to StaleMediaScanner for use in plugin home page. Also added a generic Media Info class that can be filtered to return the data you desire.
This commit is contained in:
@@ -3,18 +3,29 @@
|
||||
<div data-role="content">
|
||||
<div class="content-primary">
|
||||
<div>
|
||||
<a href="#configurationpage?name=Home">Home</a>
|
||||
<a href="#configurationpage?name=Settings">Settings</a>
|
||||
</div>
|
||||
<h2>Media Cleaner</h2>
|
||||
|
||||
<h3 id="moviesTitle"></h3>
|
||||
<table id="moviesTable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
</tr>
|
||||
</thead>
|
||||
</table>
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<h3 id="seriesTitle"></h3>
|
||||
<table id="seriesTable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>ID</th>
|
||||
<th>Series Name</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody></tbody>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th>Seasons</th>
|
||||
</tr>
|
||||
</thead>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
var table = document.getElementById("seriesTable");
|
||||
var moviesTitle = document.getElementById("moviesTitle");
|
||||
var seriesTitle = document.getElementById("seriesTitle");
|
||||
var moviesTable = document.getElementById("moviesTable");
|
||||
var seriesTable = document.getElementById("seriesTable");
|
||||
|
||||
|
||||
|
||||
const getMediaCleanerState = async () => {
|
||||
const response = await fetch('/mediacleaner/state');
|
||||
const getMediaCleanerSeriesInfo = async () => {
|
||||
const response = await fetch("/mediacleaner/state/getSeriesInfo");
|
||||
|
||||
if(!response.ok){
|
||||
throw new Error(`Response status: ${response.status}`)
|
||||
@@ -12,16 +13,73 @@ const getMediaCleanerState = async () => {
|
||||
return response.json();
|
||||
}
|
||||
|
||||
var state = await getMediaCleanerState();
|
||||
const getMediaCleanerMovieInfo = async () => {
|
||||
const response = await fetch("/mediacleaner/state/getMovieInfo");
|
||||
|
||||
console.log("State: ", state);
|
||||
if(!response.ok){
|
||||
throw new Error(`Response status: ${response.status}`)
|
||||
}
|
||||
|
||||
for(let i = 0; i < state.length; i++){
|
||||
var row = table.insertRow(-1);
|
||||
var cell1 = row.insertCell(0);
|
||||
var cell2 = row.insertCell(1);
|
||||
var cell3 = row.insertCell(2);
|
||||
cell1.innerHTML = state[i].Id;
|
||||
cell2.innerHTML = state[i].SeriesName;
|
||||
cell3.innerHTML = state[i].Seasons.length;
|
||||
return response.json();
|
||||
}
|
||||
|
||||
const updateMediaCleanerState = async () => {
|
||||
const response = await fetch("/mediacleaner/state/updateState");
|
||||
|
||||
if(!response.ok){
|
||||
throw new Error(`Response status: ${response.status}`)
|
||||
}
|
||||
|
||||
return response.json();
|
||||
}
|
||||
|
||||
const getMediaCleanerSeriesTitle = async () => {
|
||||
const response = await fetch("/mediacleaner/state/getSeriesTitle");
|
||||
|
||||
if(!response.ok){
|
||||
throw new Error(`Response status: ${response.status}`);
|
||||
}
|
||||
|
||||
return response.json();
|
||||
}
|
||||
|
||||
const getMediaCleanerMoviesTitle = async () => {
|
||||
const response = await fetch("/mediacleaner/state/getMoviesTitle");
|
||||
|
||||
if(!response.ok){
|
||||
throw new Error(`Response status: ${response.status}`);
|
||||
}
|
||||
|
||||
return response.json();
|
||||
}
|
||||
|
||||
const populateMoviesTable = () => {
|
||||
for(let i = 0; i < moviesInfo.length; i++){
|
||||
var row = moviesTable.insertRow(-1);
|
||||
var cell1 = row.insertCell(0);
|
||||
var cell2 = row.insertCell(1);
|
||||
cell1.innerHTML = moviesInfo[i].Name;
|
||||
cell2.innerHTML = "<button>Delete</button>";
|
||||
}
|
||||
}
|
||||
|
||||
const populateSeriesTable = () => {
|
||||
for(let i = 0; i < seriesInfo.length; i++){
|
||||
var row = seriesTable.insertRow(-1);
|
||||
var cell1 = row.insertCell(0);
|
||||
var cell2 = row.insertCell(1);
|
||||
var cell3 = row.insertCell(2);
|
||||
cell1.innerHTML = seriesInfo[i].Name;
|
||||
cell2.innerHTML = seriesInfo[i].Seasons.map(season => season.replace("Season ", "")).join(", ");
|
||||
cell3.innerHTML = "<button>Delete</button>";
|
||||
}
|
||||
}
|
||||
|
||||
moviesTitle.innerHTML = await getMediaCleanerMoviesTitle();
|
||||
seriesTitle.innerHTML = await getMediaCleanerSeriesTitle();
|
||||
|
||||
await updateMediaCleanerState();
|
||||
var moviesInfo = await getMediaCleanerMovieInfo();
|
||||
var seriesInfo = await getMediaCleanerSeriesInfo();
|
||||
populateMoviesTable();
|
||||
populateSeriesTable();
|
||||
|
||||
Reference in New Issue
Block a user