diff options
| author | Luke <luke.pulverenti@gmail.com> | 2016-04-23 01:55:21 -0400 |
|---|---|---|
| committer | Luke <luke.pulverenti@gmail.com> | 2016-04-23 01:55:21 -0400 |
| commit | 84546392186d59f0212206ec5204bedc8e54fddc (patch) | |
| tree | f538083e55c70258f2d4140d55e2fbcbbd8fd1d0 | |
| parent | 584e793a6d8782956fee5ae1658fdd99d72860ed (diff) | |
| parent | ad6bde6355ab4a8cf9d4d6a51c62844bdc029fcb (diff) | |
Merge pull request #1677 from softworkz/SkipVirtualEpisodeRefresh
Restrict metadata refresh of missing/virtual episodes
| -rw-r--r-- | MediaBrowser.Controller/Entities/TV/Series.cs | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/MediaBrowser.Controller/Entities/TV/Series.cs b/MediaBrowser.Controller/Entities/TV/Series.cs index 7eabff072..ad4ee436e 100644 --- a/MediaBrowser.Controller/Entities/TV/Series.cs +++ b/MediaBrowser.Controller/Entities/TV/Series.cs @@ -255,7 +255,7 @@ namespace MediaBrowser.Controller.Entities.TV // Refresh current item await RefreshMetadata(refreshOptions, cancellationToken).ConfigureAwait(false); - // Refresh TV + // Refresh seasons foreach (var item in seasons) { cancellationToken.ThrowIfCancellationRequested(); @@ -268,12 +268,30 @@ namespace MediaBrowser.Controller.Entities.TV progress.Report(percent * 100); } - // Refresh all non-songs + // Refresh episodes and other children foreach (var item in otherItems) { cancellationToken.ThrowIfCancellationRequested(); - await item.RefreshMetadata(refreshOptions, cancellationToken).ConfigureAwait(false); + var skipItem = false; + + var episode = item as Episode; + + if (episode != null + && refreshOptions.MetadataRefreshMode != MetadataRefreshMode.FullRefresh + && !refreshOptions.ReplaceAllMetadata + && episode.IsMissingEpisode + && episode.LocationType == Model.Entities.LocationType.Virtual + && episode.PremiereDate.HasValue + && (DateTime.UtcNow - episode.PremiereDate.Value).TotalDays > 30) + { + skipItem = true; + } + + if (!skipItem) + { + await item.RefreshMetadata(refreshOptions, cancellationToken).ConfigureAwait(false); + } numComplete++; double percent = numComplete; |
