Merge pull request #1711 from MediaBrowser/dev

fix dashboard page
pull/702/head
Luke 9 years ago
commit 31763e06d5

@ -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();

@ -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))

@ -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;
}

@ -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);
}

@ -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;

@ -2398,6 +2398,11 @@ namespace MediaBrowser.Server.Implementations.Persistence
return false;
}
if (query.User == null)
{
return false;
}
if (query.IncludeItemTypes.Length == 0)
{
return true;

Loading…
Cancel
Save