diff --git a/Api/TheTvDbProvider.cs b/Api/TheTvDbProvider.cs index e36aff7..e791522 100644 --- a/Api/TheTvDbProvider.cs +++ b/Api/TheTvDbProvider.cs @@ -6,7 +6,6 @@ using System.Threading; using System.Threading.Tasks; using System.Xml.Linq; -using MediaBrowser.Common.Configuration; using MediaBrowser.Common.Net; using MediaBrowser.Controller; using MediaBrowser.Model.IO; diff --git a/Api/UpdateModel.cs b/Api/UpdateModel.cs index 66bbb1f..f31d8e0 100644 --- a/Api/UpdateModel.cs +++ b/Api/UpdateModel.cs @@ -1,8 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; +using System.Collections.Generic; namespace Statistics.Api { diff --git a/Calculators/Calculator.cs b/Calculators/Calculator.cs index 49193c8..fc1037b 100644 --- a/Calculators/Calculator.cs +++ b/Calculators/Calculator.cs @@ -1,12 +1,7 @@ using System; using System.Collections.Generic; -using System.Globalization; -using System.IO; using System.Linq; -using System.Threading; -using MediaBrowser.Controller.Dto; using MediaBrowser.Controller.Entities; -using MediaBrowser.Controller.Entities.Movies; using MediaBrowser.Controller.Entities.TV; using MediaBrowser.Controller.Library; using MediaBrowser.Model.Entities; diff --git a/Calculators/ShowProgressCalculator.cs b/Calculators/ShowProgressCalculator.cs index 194b07a..7309d41 100644 --- a/Calculators/ShowProgressCalculator.cs +++ b/Calculators/ShowProgressCalculator.cs @@ -1,22 +1,16 @@ using System; using System.Collections.Generic; using System.Linq; -using System.Text; using System.Threading; -using System.Threading.Tasks; using MediaBrowser.Common.Net; using MediaBrowser.Controller; using MediaBrowser.Controller.Entities; -using MediaBrowser.Controller.Entities.TV; using MediaBrowser.Controller.Library; -using MediaBrowser.Model.ApiClient; using MediaBrowser.Model.Entities; using MediaBrowser.Model.IO; -using MediaBrowser.Model.Querying; using statistics.Models.Configuration; using Statistics.Api; using statistics.Calculators; -using MediaBrowser.Model.Logging; namespace Statistics.Helpers { diff --git a/Configuration/PluginConfiguration.cs b/Configuration/PluginConfiguration.cs index f877a03..9897e37 100644 --- a/Configuration/PluginConfiguration.cs +++ b/Configuration/PluginConfiguration.cs @@ -43,6 +43,7 @@ public PluginConfiguration() public string LastUpdated { get; set; } public string Version { get; set; } + public string ServerId { get; set; } public List MovieQualityItems { get; set; } diff --git a/Configuration/configPage.html b/Configuration/configPage.html index db2aba2..db81826 100644 --- a/Configuration/configPage.html +++ b/Configuration/configPage.html @@ -251,7 +251,7 @@

Show Statistics

return html; }, - createStatWithPoster: function (v) { + createStatWithPoster: function (v, i) { var html = '
'; @@ -264,7 +264,7 @@

Show Statistics

"');\">info_outline
"; if (v.Id !== undefined) { - html += '' + html += '' html += '
' } @@ -306,25 +306,25 @@

Show Statistics

$("#movieStat", page).append(MainPage.createStat(config.TotalMovies)); $("#movieStat", page).append(MainPage.createStat(config.TotalBoxsets)); $("#movieStat", page).append(MainPage.createStat(config.TotalMovieStudios)); - $("#movieStat", page).append(MainPage.createStatWithPoster(config.BiggestMovie)); - $("#movieStat", page).append(MainPage.createStatWithPoster(config.LongestMovie)); - $("#movieStat", page).append(MainPage.createStatWithPoster(config.NewestAddedMovie)); - $("#movieStat", page).append(MainPage.createStatWithPoster(config.OldestMovie)); - $("#movieStat", page).append(MainPage.createStatWithPoster(config.NewestMovie)); - $("#movieStat", page).append(MainPage.createStatWithPoster(config.HighestRating)); - $("#movieStat", page).append(MainPage.createStatWithPoster(config.LowestRating)); - $("#movieStat", page).append(MainPage.createStatWithPoster(config.HighestBitrateMovie)); - $("#movieStat", page).append(MainPage.createStatWithPoster(config.LowestBitrateMovie)); + $("#movieStat", page).append(MainPage.createStatWithPoster(config.BiggestMovie, config.ServerId)); + $("#movieStat", page).append(MainPage.createStatWithPoster(config.LongestMovie, config.ServerId)); + $("#movieStat", page).append(MainPage.createStatWithPoster(config.NewestAddedMovie, config.ServerId)); + $("#movieStat", page).append(MainPage.createStatWithPoster(config.OldestMovie, config.ServerId)); + $("#movieStat", page).append(MainPage.createStatWithPoster(config.NewestMovie, config.ServerId)); + $("#movieStat", page).append(MainPage.createStatWithPoster(config.HighestRating, config.ServerId)); + $("#movieStat", page).append(MainPage.createStatWithPoster(config.LowestRating, config.ServerId)); + $("#movieStat", page).append(MainPage.createStatWithPoster(config.HighestBitrateMovie, config.ServerId)); + $("#movieStat", page).append(MainPage.createStatWithPoster(config.LowestBitrateMovie, config.ServerId)); $("#showStat", page).append(MainPage.createStat(config.TotalShows)); $("#showStat", page).append(MainPage.createStat(config.TotalOwnedEpisodes)); $("#showStat", page).append(MainPage.createStat(config.TotalShowStudios)); - $("#showStat", page).append(MainPage.createStatWithPoster(config.BiggestShow)); - $("#showStat", page).append(MainPage.createStatWithPoster(config.LongestShow)); - $("#showStat", page).append(MainPage.createStatWithPoster(config.OldestShow)); - $("#showStat", page).append(MainPage.createStatWithPoster(config.NewestShow)); - $("#showStat", page).append(MainPage.createStatWithPoster(config.NewestAddedEpisode)); + $("#showStat", page).append(MainPage.createStatWithPoster(config.BiggestShow, config.ServerId)); + $("#showStat", page).append(MainPage.createStatWithPoster(config.LongestShow, config.ServerId)); + $("#showStat", page).append(MainPage.createStatWithPoster(config.OldestShow, config.ServerId)); + $("#showStat", page).append(MainPage.createStatWithPoster(config.NewestShow, config.ServerId)); + $("#showStat", page).append(MainPage.createStatWithPoster(config.NewestAddedEpisode, config.ServerId)); Dashboard.hideLoadingMsg(); } diff --git a/Configuration/moviePage.html b/Configuration/moviePage.html index e3d0b23..db84d7c 100644 --- a/Configuration/moviePage.html +++ b/Configuration/moviePage.html @@ -13,19 +13,19 @@

Movie list

-

Unknown

+

-

DVD

+

-

480P

+

-

720P

+

-

1080P

+

-

1440P

+

-

4K

+

@@ -44,31 +44,20 @@

4K

(function () { var MoviesPage = { pluginId: '291d866f-baad-464a-aed6-a4a8b95a8fd7', + sections: ["#unk", "#dvd", "#Q700", "#Q1260", "#Q1900", "#Q2500", "#Q3800"], + res: ["Unknown", "DVD", "480P", "720P", "1080P", "1440P", "4K"], loadStats: function (page) { Dashboard.showLoadingMsg(); + ApiClient.getPluginConfiguration(MoviesPage.pluginId).then(function (config) { - $("#unkTitle").append(" (" + config.MovieQualityItems[0].Movies.length + ")") - $("#dvdTitle").append(" (" + config.MovieQualityItems[1].Movies.length + ")") - $("#Q700Title").append(" (" + config.MovieQualityItems[2].Movies.length + ")") - $("#Q1260Title").append(" (" + config.MovieQualityItems[3].Movies.length + ")") - $("#Q1900Title").append(" (" + config.MovieQualityItems[4].Movies.length + ")") - $("#Q2500Title").append(" (" + config.MovieQualityItems[5].Movies.length + ")") - $("#Q3800Title").append(" (" + config.MovieQualityItems[6].Movies.length + ")") + $.each(MoviesPage.sections, function (i, section) { + $(section + "Title").html(MoviesPage.res[i] + " (" + config.MovieQualityItems[i].Movies.length + ")"); - $.each(config.MovieQualityItems[0].Movies, function (i, v) { $("#unk", page) - .append('' +  v.Name + ''); }); - $.each(config.MovieQualityItems[1].Movies, function (i, v) { $("#dvd", page) - .append('' +  v.Name + ''); }); - $.each(config.MovieQualityItems[2].Movies, function (i, v) { $("#Q700", page) - .append('' +  v.Name + ''); }); - $.each(config.MovieQualityItems[3].Movies, function (i, v) { $("#Q1260", page) - .append('' +  v.Name + ''); }); - $.each(config.MovieQualityItems[4].Movies, function (i, v) { $("#Q1900", page) - .append('' +  v.Name + ''); }); - $.each(config.MovieQualityItems[5].Movies, function (i, v) { $("#Q2500", page) - .append('' +  v.Name + ''); }); - $.each(config.MovieQualityItems[6].Movies, function (i, v) { $("#Q3800", page) - .append('' +  v.Name + ''); }); + $(section, page).html(''); + $.each(config.MovieQualityItems[i].Movies, function (j, v) {$(section, page) + .append('' + v.Name + ''); + }); + }) Dashboard.hideLoadingMsg(); }); } diff --git a/Configuration/movieTextPage.html b/Configuration/movieTextPage.html index 11ee470..91a60ae 100644 --- a/Configuration/movieTextPage.html +++ b/Configuration/movieTextPage.html @@ -13,19 +13,19 @@

Movie list

-

Unknown

+

-

DVD

+

-

480P

+

-

720P

+

-

1080P

+

-

1440P

+

-

4K

+

@@ -44,37 +44,27 @@

4K

(function () { var MoviesListPage = { pluginId: '291d866f-baad-464a-aed6-a4a8b95a8fd7', + sections: ["#unk", "#dvd", "#Q700", "#Q1260", "#Q1900", "#Q2500", "#Q3800"], + res: ["Unknown", "DVD", "480P", "720P", "1080P", "1440P", "4K"], loadStats: function (page) { Dashboard.showLoadingMsg(); ApiClient.getPluginConfiguration(MoviesListPage.pluginId).then(function (config) { - $("#unkTitle").append(" (" + config.MovieQualityItems[0].Movies.length + ")") - $("#dvdTitle").append(" (" + config.MovieQualityItems[1].Movies.length + ")") - $("#Q700Title").append(" (" + config.MovieQualityItems[2].Movies.length + ")") - $("#Q1260Title").append(" (" + config.MovieQualityItems[3].Movies.length + ")") - $("#Q1900Title").append(" (" + config.MovieQualityItems[4].Movies.length + ")") - $("#Q2500Title").append(" (" + config.MovieQualityItems[5].Movies.length + ")") - $("#Q3800Title").append(" (" + config.MovieQualityItems[6].Movies.length + ")") + $.each(MoviesListPage.sections, function (i, section) { + $(section + "Title").html(MoviesListPage.res[i] + " (" + config.MovieQualityItems[i].Movies.length + ")"); + + + $(section, page).html('') + $.each(config.MovieQualityItems[i].Movies, function (j, v) { $(section, page) + .append(MoviesListPage.makeTable(v, config.ServerId)); }); + + }) - $.each(config.MovieQualityItems[0].Movies, function (i, v) { $("#unk", page) - .append(MoviesListPage.makeTable(v)); }); - $.each(config.MovieQualityItems[1].Movies, function (i, v) { $("#dvd", page) - .append(MoviesListPage.makeTable(v)); }); - $.each(config.MovieQualityItems[2].Movies, function (i, v) { $("#Q700", page) - .append(MoviesListPage.makeTable(v)); }); - $.each(config.MovieQualityItems[3].Movies, function (i, v) { $("#Q1260", page) - .append(MoviesListPage.makeTable(v)); }); - $.each(config.MovieQualityItems[4].Movies, function (i, v) { $("#Q1900", page) - .append(MoviesListPage.makeTable(v)); }); - $.each(config.MovieQualityItems[5].Movies, function (i, v) { $("#Q2500", page) - .append(MoviesListPage.makeTable(v)); }); - $.each(config.MovieQualityItems[6].Movies, function (i, v) { $("#Q3800", page) - .append(MoviesListPage.makeTable(v)); }); Dashboard.hideLoadingMsg(); }); }, - makeTable: function(movie) { + makeTable: function (movie, ServerId) { var html = ''; - html += '' + movie.Name + ''; + html += '' + movie.Name + ''; html += '' + movie.Year + ''; return html + ''; } diff --git a/Models/Movie.cs b/Models/Movie.cs index 9c118fa..7e79c43 100644 --- a/Models/Movie.cs +++ b/Models/Movie.cs @@ -1,8 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace statistics.Models +namespace statistics.Models { public class Movie { diff --git a/Models/MovieQuality.cs b/Models/MovieQuality.cs index e078613..00ec78b 100644 --- a/Models/MovieQuality.cs +++ b/Models/MovieQuality.cs @@ -1,7 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Text; -using MediaBrowser.Controller.Entities.Movies; +using System.Collections.Generic; using Statistics.Enum; namespace statistics.Models diff --git a/Models/RunTimeModel.cs b/Models/RunTimeModel.cs index 29b97ac..990560e 100644 --- a/Models/RunTimeModel.cs +++ b/Models/RunTimeModel.cs @@ -1,5 +1,4 @@ using System; -using Statistics.Enum; namespace Statistics.ViewModel { diff --git a/ScheduledTasks/CalculateStatsTask.cs b/ScheduledTasks/CalculateStatsTask.cs index 126ee02..4e3a054 100644 --- a/ScheduledTasks/CalculateStatsTask.cs +++ b/ScheduledTasks/CalculateStatsTask.cs @@ -1,9 +1,9 @@ - -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Threading; using System.Threading.Tasks; +using MediaBrowser.Common; using MediaBrowser.Common.Net; using MediaBrowser.Controller; using MediaBrowser.Controller.Entities; @@ -14,7 +14,6 @@ using MediaBrowser.Model.Logging; using MediaBrowser.Model.Tasks; using statistics; -using statistics.Calculators; using statistics.Configuration; using statistics.Models.Configuration; using Statistics.Api; @@ -23,7 +22,7 @@ namespace Statistics.ScheduledTasks { - public class CalculateStatsTask : IScheduledTask + public class CalculateStatsTask : IScheduledTask { private readonly IFileSystem _fileSystem; private readonly IHttpClient _httpClient; @@ -33,12 +32,13 @@ public class CalculateStatsTask : IScheduledTask private readonly IUserDataManager _userDataManager; private readonly IUserManager _userManager; private readonly IZipClient _zipClient; + private IApplicationHost _appHost; public CalculateStatsTask(ILogManager logger, IUserManager userManager, IUserDataManager userDataManager, ILibraryManager libraryManager, IZipClient zipClient, IHttpClient httpClient, IFileSystem fileSystem, - IServerApplicationPaths serverApplicationPaths) + IServerApplicationPaths serverApplicationPaths, IApplicationHost appHost) { _logger = logger.GetLogger("Statistics"); _libraryManager = libraryManager; @@ -48,6 +48,7 @@ public class CalculateStatsTask : IScheduledTask _httpClient = httpClient; _fileSystem = fileSystem; _serverApplicationPaths = serverApplicationPaths; + _appHost = appHost; } private static PluginConfiguration PluginConfiguration => Plugin.Instance.Configuration; @@ -78,6 +79,7 @@ async Task IScheduledTask.Execute(CancellationToken cancellationToken, IProgress var numComplete = 0; PluginConfiguration.LastUpdated = DateTime.Now.ToString("g"); + PluginConfiguration.ServerId = _appHost.SystemId; numComplete++; progress.Report(percentPerUser * numComplete); diff --git a/statistics.csproj b/statistics.csproj index b18604c..4c747d2 100644 --- a/statistics.csproj +++ b/statistics.csproj @@ -3,8 +3,8 @@ netstandard2.0; 2.0.14.0 - 2.0.14.0 - 2.0.14.0 + 2.0.15.0 + 2.0.15.0 @@ -20,7 +20,7 @@ - +