diff options
Diffstat (limited to 'MediaBrowser.Providers/Subtitles/SubtitleManager.cs')
| -rw-r--r-- | MediaBrowser.Providers/Subtitles/SubtitleManager.cs | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/MediaBrowser.Providers/Subtitles/SubtitleManager.cs b/MediaBrowser.Providers/Subtitles/SubtitleManager.cs index f7cd9dd13..f7071f519 100644 --- a/MediaBrowser.Providers/Subtitles/SubtitleManager.cs +++ b/MediaBrowser.Providers/Subtitles/SubtitleManager.cs @@ -133,7 +133,8 @@ namespace MediaBrowser.Providers.Subtitles { //var isText = MediaStream.IsTextFormat(response.Format); - using (var fs = _fileSystem.GetFileStream(savePath, FileOpenMode.Create, FileAccessMode.Write, FileShareMode.Read, true)) + using (var fs = _fileSystem.GetFileStream(savePath, FileOpenMode.Create, FileAccessMode.Write, + FileShareMode.Read, true)) { await stream.CopyToAsync(fs).ConfigureAwait(false); } @@ -154,6 +155,10 @@ namespace MediaBrowser.Providers.Subtitles } } } + catch (RateLimitExceededException) + { + throw; + } catch (Exception ex) { EventHelper.FireEventIfNotNull(SubtitleDownloadFailure, this, new SubtitleDownloadFailureEventArgs @@ -168,7 +173,7 @@ namespace MediaBrowser.Providers.Subtitles } } - public Task<IEnumerable<RemoteSubtitleInfo>> SearchSubtitles(Video video, string language, CancellationToken cancellationToken) + public Task<IEnumerable<RemoteSubtitleInfo>> SearchSubtitles(Video video, string language, bool? isPerfectMatch, CancellationToken cancellationToken) { if (video.LocationType != LocationType.FileSystem || video.VideoType != VideoType.VideoFile) @@ -202,7 +207,8 @@ namespace MediaBrowser.Providers.Subtitles ParentIndexNumber = video.ParentIndexNumber, ProductionYear = video.ProductionYear, ProviderIds = video.ProviderIds, - RuntimeTicks = video.RunTimeTicks + RuntimeTicks = video.RunTimeTicks, + IsPerfectMatch = isPerfectMatch ?? false }; var episode = video as Episode; @@ -256,8 +262,7 @@ namespace MediaBrowser.Providers.Subtitles _monitor.ReportFileSystemChangeComplete(path, false); } - _libraryManager.GetItemById(itemId).ChangedExternally(); - return Task.FromResult(true); + return _libraryManager.GetItemById(itemId).RefreshMetadata(CancellationToken.None); } public Task<SubtitleResponse> GetRemoteSubtitles(string id, CancellationToken cancellationToken) |
