aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke <luke.pulverenti@gmail.com>2016-05-06 02:03:17 -0400
committerLuke <luke.pulverenti@gmail.com>2016-05-06 02:03:17 -0400
commit31763e06d5a35f40b88afecd53e989fadc0e0565 (patch)
tree5dfaa05f9c9d22db4bb9b9863abe9bf9a917104b
parent91aecea4d12859dfa87c0dfe28751e4618f68633 (diff)
parent0edd4e410aae794b2b7d473d89ae02e450947346 (diff)
Merge pull request #1711 from MediaBrowser/dev
fix dashboard page
-rw-r--r--MediaBrowser.Providers/TV/SeriesPostScanTask.cs6
-rw-r--r--MediaBrowser.Providers/TV/TheTVDB/TvdbEpisodeImageProvider.cs13
-rw-r--r--MediaBrowser.Providers/TV/TheTVDB/TvdbEpisodeProvider.cs3
-rw-r--r--MediaBrowser.Providers/TV/TheTVDB/TvdbPrescanTask.cs38
-rw-r--r--MediaBrowser.Providers/TV/TheTVDB/TvdbSeasonImageProvider.cs8
-rw-r--r--MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs5
6 files changed, 43 insertions, 30 deletions
diff --git a/MediaBrowser.Providers/TV/SeriesPostScanTask.cs b/MediaBrowser.Providers/TV/SeriesPostScanTask.cs
index 0fd6fa56f..3c0a5fc73 100644
--- a/MediaBrowser.Providers/TV/SeriesPostScanTask.cs
+++ b/MediaBrowser.Providers/TV/SeriesPostScanTask.cs
@@ -53,7 +53,8 @@ namespace MediaBrowser.Providers.TV
var seriesList = _libraryManager.GetItemList(new InternalItemsQuery()
{
IncludeItemTypes = new[] { typeof(Series).Name },
- Recursive = true
+ Recursive = true,
+ GroupByPresentationUniqueKey = false
}).Cast<Series>().ToList();
@@ -207,7 +208,8 @@ namespace MediaBrowser.Providers.TV
var seriesList = _libraryManager.GetItemList(new InternalItemsQuery()
{
IncludeItemTypes = new[] { typeof(Series).Name },
- Recursive = true
+ Recursive = true,
+ GroupByPresentationUniqueKey = false
}).Cast<Series>().ToList();
diff --git a/MediaBrowser.Providers/TV/TheTVDB/TvdbEpisodeImageProvider.cs b/MediaBrowser.Providers/TV/TheTVDB/TvdbEpisodeImageProvider.cs
index ca3320cc6..7a0b2c90c 100644
--- a/MediaBrowser.Providers/TV/TheTVDB/TvdbEpisodeImageProvider.cs
+++ b/MediaBrowser.Providers/TV/TheTVDB/TvdbEpisodeImageProvider.cs
@@ -176,19 +176,16 @@ namespace MediaBrowser.Providers.TV
public bool HasChanged(IHasMetadata item, IDirectoryService directoryService)
{
- var episode = (Episode)item;
-
- if (!episode.IsVirtualUnaired)
+ // For non-unaired items, only enable if configured
+ if (!TvdbSeriesProvider.Current.GetTvDbOptions().EnableAutomaticUpdates)
{
- // For non-unaired items, only enable if configured
- if (!TvdbSeriesProvider.Current.GetTvDbOptions().EnableAutomaticUpdates)
- {
- return false;
- }
+ return false;
}
if (!item.HasImage(ImageType.Primary))
{
+ var episode = (Episode)item;
+
var series = episode.Series;
if (series != null && TvdbSeriesProvider.IsValidSeries(series.ProviderIds))
diff --git a/MediaBrowser.Providers/TV/TheTVDB/TvdbEpisodeProvider.cs b/MediaBrowser.Providers/TV/TheTVDB/TvdbEpisodeProvider.cs
index 5c88c87d8..fc07ebcac 100644
--- a/MediaBrowser.Providers/TV/TheTVDB/TvdbEpisodeProvider.cs
+++ b/MediaBrowser.Providers/TV/TheTVDB/TvdbEpisodeProvider.cs
@@ -146,8 +146,7 @@ namespace MediaBrowser.Providers.TV
public bool HasChanged(IHasMetadata item, IDirectoryService directoryService)
{
- // Only enable for virtual items
- if (item.LocationType != LocationType.Virtual)
+ if (!TvdbSeriesProvider.Current.GetTvDbOptions().EnableAutomaticUpdates)
{
return false;
}
diff --git a/MediaBrowser.Providers/TV/TheTVDB/TvdbPrescanTask.cs b/MediaBrowser.Providers/TV/TheTVDB/TvdbPrescanTask.cs
index 672ebc95d..215e0640f 100644
--- a/MediaBrowser.Providers/TV/TheTVDB/TvdbPrescanTask.cs
+++ b/MediaBrowser.Providers/TV/TheTVDB/TvdbPrescanTask.cs
@@ -15,6 +15,7 @@ using System.Threading;
using System.Threading.Tasks;
using System.Xml;
using CommonIO;
+using MediaBrowser.Controller.Entities;
namespace MediaBrowser.Providers.TV
{
@@ -89,7 +90,7 @@ namespace MediaBrowser.Providers.TV
var path = TvdbSeriesProvider.GetSeriesDataPath(_config.CommonApplicationPaths);
- _fileSystem.CreateDirectory(path);
+ _fileSystem.CreateDirectory(path);
var timestampFile = Path.Combine(path, "time.txt");
@@ -102,7 +103,7 @@ namespace MediaBrowser.Providers.TV
}
// Find out the last time we queried tvdb for updates
- var lastUpdateTime = timestampFileInfo.Exists ? _fileSystem.ReadAllText(timestampFile, Encoding.UTF8) : string.Empty;
+ var lastUpdateTime = timestampFileInfo.Exists ? _fileSystem.ReadAllText(timestampFile, Encoding.UTF8) : string.Empty;
string newUpdateTime;
@@ -110,15 +111,21 @@ namespace MediaBrowser.Providers.TV
.Select(Path.GetFileName)
.ToList();
- var seriesIdsInLibrary = _libraryManager.RootFolder
- .GetRecursiveChildren(i => i is Series && !string.IsNullOrEmpty(i.GetProviderId(MetadataProviders.Tvdb)))
- .Cast<Series>()
+ var seriesList = _libraryManager.GetItemList(new InternalItemsQuery()
+ {
+ IncludeItemTypes = new[] { typeof(Series).Name },
+ Recursive = true,
+ GroupByPresentationUniqueKey = false
+ }).Cast<Series>();
+
+ var seriesIdsInLibrary = seriesList
+ .Where(i => !string.IsNullOrEmpty(i.GetProviderId(MetadataProviders.Tvdb)))
.Select(i => i.GetProviderId(MetadataProviders.Tvdb))
.ToList();
var missingSeries = seriesIdsInLibrary.Except(existingDirectories, StringComparer.OrdinalIgnoreCase)
.ToList();
-
+
// If this is our first time, update all series
if (string.IsNullOrEmpty(lastUpdateTime))
{
@@ -157,7 +164,7 @@ namespace MediaBrowser.Providers.TV
await UpdateSeries(listToUpdate, path, nullableUpdateValue, progress, cancellationToken).ConfigureAwait(false);
}
- _fileSystem.WriteAllText(timestampFile, newUpdateTime, Encoding.UTF8);
+ _fileSystem.WriteAllText(timestampFile, newUpdateTime, Encoding.UTF8);
progress.Report(100);
}
@@ -300,10 +307,17 @@ namespace MediaBrowser.Providers.TV
var list = seriesIds.ToList();
var numComplete = 0;
+ var seriesList = _libraryManager.GetItemList(new InternalItemsQuery()
+ {
+ IncludeItemTypes = new[] { typeof(Series).Name },
+ Recursive = true,
+ GroupByPresentationUniqueKey = false
+
+ }).Cast<Series>();
+
// Gather all series into a lookup by tvdb id
- var allSeries = _libraryManager.RootFolder
- .GetRecursiveChildren(i => i is Series && !string.IsNullOrEmpty(i.GetProviderId(MetadataProviders.Tvdb)))
- .Cast<Series>()
+ var allSeries = seriesList
+ .Where(i => !string.IsNullOrEmpty(i.GetProviderId(MetadataProviders.Tvdb)))
.ToLookup(i => i.GetProviderId(MetadataProviders.Tvdb));
foreach (var seriesId in list)
@@ -323,7 +337,7 @@ namespace MediaBrowser.Providers.TV
catch (HttpException ex)
{
_logger.ErrorException("Error updating tvdb series id {0}, language {1}", ex, seriesId, language);
-
+
// Already logged at lower levels, but don't fail the whole operation, unless timed out
// We have to fail this to make it run again otherwise new episode data could potentially be missing
if (ex.IsTimedOut)
@@ -357,7 +371,7 @@ namespace MediaBrowser.Providers.TV
seriesDataPath = Path.Combine(seriesDataPath, id);
- _fileSystem.CreateDirectory(seriesDataPath);
+ _fileSystem.CreateDirectory(seriesDataPath);
return TvdbSeriesProvider.Current.DownloadSeriesZip(id, MetadataProviders.Tvdb.ToString(), seriesDataPath, lastTvDbUpdateTime, preferredMetadataLanguage, cancellationToken);
}
diff --git a/MediaBrowser.Providers/TV/TheTVDB/TvdbSeasonImageProvider.cs b/MediaBrowser.Providers/TV/TheTVDB/TvdbSeasonImageProvider.cs
index 54d729eb7..52d12e501 100644
--- a/MediaBrowser.Providers/TV/TheTVDB/TvdbSeasonImageProvider.cs
+++ b/MediaBrowser.Providers/TV/TheTVDB/TvdbSeasonImageProvider.cs
@@ -365,13 +365,9 @@ namespace MediaBrowser.Providers.TV
public bool HasChanged(IHasMetadata item, IDirectoryService directoryService)
{
- if (item.LocationType != LocationType.Virtual)
+ if (!TvdbSeriesProvider.Current.GetTvDbOptions().EnableAutomaticUpdates)
{
- // For non-virtual items, only enable if configured
- if (!TvdbSeriesProvider.Current.GetTvDbOptions().EnableAutomaticUpdates)
- {
- return false;
- }
+ return false;
}
var season = (Season)item;
diff --git a/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs b/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs
index 7199301af..3422a3212 100644
--- a/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs
+++ b/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs
@@ -2398,6 +2398,11 @@ namespace MediaBrowser.Server.Implementations.Persistence
return false;
}
+ if (query.User == null)
+ {
+ return false;
+ }
+
if (query.IncludeItemTypes.Length == 0)
{
return true;