mirror of
https://github.com/jellyfin/jellyfin.git
synced 2024-07-24 14:40:39 +02:00
update episode refresh
This commit is contained in:
parent
268b1c7916
commit
94261b7669
|
@ -112,6 +112,8 @@ namespace MediaBrowser.Providers.TV
|
||||||
if (TvdbSeriesProvider.IsValidSeries(searchInfo.SeriesProviderIds) &&
|
if (TvdbSeriesProvider.IsValidSeries(searchInfo.SeriesProviderIds) &&
|
||||||
(searchInfo.IndexNumber.HasValue || searchInfo.PremiereDate.HasValue))
|
(searchInfo.IndexNumber.HasValue || searchInfo.PremiereDate.HasValue))
|
||||||
{
|
{
|
||||||
|
await TvdbSeriesProvider.Current.EnsureSeriesInfo(searchInfo.SeriesProviderIds, searchInfo.MetadataLanguage, cancellationToken).ConfigureAwait(false);
|
||||||
|
|
||||||
var seriesDataPath = TvdbSeriesProvider.GetSeriesDataPath(_config.ApplicationPaths, searchInfo.SeriesProviderIds);
|
var seriesDataPath = TvdbSeriesProvider.GetSeriesDataPath(_config.ApplicationPaths, searchInfo.SeriesProviderIds);
|
||||||
|
|
||||||
var searchNumbers = new EpisodeNumbers();
|
var searchNumbers = new EpisodeNumbers();
|
||||||
|
|
|
@ -329,38 +329,48 @@ namespace MediaBrowser.Providers.TV
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private SemaphoreSlim _ensureSemaphore = new SemaphoreSlim(1,1);
|
||||||
internal async Task<string> EnsureSeriesInfo(Dictionary<string, string> seriesProviderIds, string preferredMetadataLanguage, CancellationToken cancellationToken)
|
internal async Task<string> EnsureSeriesInfo(Dictionary<string, string> seriesProviderIds, string preferredMetadataLanguage, CancellationToken cancellationToken)
|
||||||
{
|
{
|
||||||
string seriesId;
|
await _ensureSemaphore.WaitAsync(cancellationToken).ConfigureAwait(false);
|
||||||
if (seriesProviderIds.TryGetValue(MetadataProviders.Tvdb.ToString(), out seriesId))
|
|
||||||
{
|
|
||||||
var seriesDataPath = GetSeriesDataPath(_config.ApplicationPaths, seriesProviderIds);
|
|
||||||
|
|
||||||
// Only download if not already there
|
try
|
||||||
// The post-scan task will take care of updates so we don't need to re-download here
|
{
|
||||||
if (!IsCacheValid(seriesDataPath, preferredMetadataLanguage))
|
string seriesId;
|
||||||
|
if (seriesProviderIds.TryGetValue(MetadataProviders.Tvdb.ToString(), out seriesId))
|
||||||
{
|
{
|
||||||
await DownloadSeriesZip(seriesId, MetadataProviders.Tvdb.ToString(), seriesDataPath, null, preferredMetadataLanguage, cancellationToken).ConfigureAwait(false);
|
var seriesDataPath = GetSeriesDataPath(_config.ApplicationPaths, seriesProviderIds);
|
||||||
|
|
||||||
|
// Only download if not already there
|
||||||
|
// The post-scan task will take care of updates so we don't need to re-download here
|
||||||
|
if (!IsCacheValid(seriesDataPath, preferredMetadataLanguage))
|
||||||
|
{
|
||||||
|
await DownloadSeriesZip(seriesId, MetadataProviders.Tvdb.ToString(), seriesDataPath, null, preferredMetadataLanguage, cancellationToken).ConfigureAwait(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
return seriesDataPath;
|
||||||
}
|
}
|
||||||
|
|
||||||
return seriesDataPath;
|
if (seriesProviderIds.TryGetValue(MetadataProviders.Imdb.ToString(), out seriesId))
|
||||||
}
|
|
||||||
|
|
||||||
if (seriesProviderIds.TryGetValue(MetadataProviders.Imdb.ToString(), out seriesId))
|
|
||||||
{
|
|
||||||
var seriesDataPath = GetSeriesDataPath(_config.ApplicationPaths, seriesProviderIds);
|
|
||||||
|
|
||||||
// Only download if not already there
|
|
||||||
// The post-scan task will take care of updates so we don't need to re-download here
|
|
||||||
if (!IsCacheValid(seriesDataPath, preferredMetadataLanguage))
|
|
||||||
{
|
{
|
||||||
await DownloadSeriesZip(seriesId, MetadataProviders.Imdb.ToString(), seriesDataPath, null, preferredMetadataLanguage, cancellationToken).ConfigureAwait(false);
|
var seriesDataPath = GetSeriesDataPath(_config.ApplicationPaths, seriesProviderIds);
|
||||||
|
|
||||||
|
// Only download if not already there
|
||||||
|
// The post-scan task will take care of updates so we don't need to re-download here
|
||||||
|
if (!IsCacheValid(seriesDataPath, preferredMetadataLanguage))
|
||||||
|
{
|
||||||
|
await DownloadSeriesZip(seriesId, MetadataProviders.Imdb.ToString(), seriesDataPath, null, preferredMetadataLanguage, cancellationToken).ConfigureAwait(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
return seriesDataPath;
|
||||||
}
|
}
|
||||||
|
|
||||||
return seriesDataPath;
|
return null;
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
_ensureSemaphore.Release();
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private bool IsCacheValid(string seriesDataPath, string preferredMetadataLanguage)
|
private bool IsCacheValid(string seriesDataPath, string preferredMetadataLanguage)
|
||||||
|
|
Loading…
Reference in a new issue