private async Task <Either <BaseError, bool> > UpdateSubtitles(EmbyEpisode episode, string localPath) { try { return(await _localSubtitlesProvider.UpdateSubtitles(episode, localPath, false)); } catch (Exception ex) { return(BaseError.New(ex.ToString())); } }
private async Task <Either <BaseError, Episode> > UpdateSubtitles(Episode episode) { try { await _localSubtitlesProvider.UpdateSubtitles(episode, None, true); return(episode); } catch (Exception ex) { _client.Notify(ex); return(BaseError.New(ex.ToString())); } }
private async Task <Either <BaseError, MediaItemScanResult <Movie> > > UpdateSubtitles(MediaItemScanResult <Movie> result) { try { await _localSubtitlesProvider.UpdateSubtitles(result.Item, None, true); return(result); } catch (Exception ex) { _client.Notify(ex); return(BaseError.New(ex.ToString())); } }
private async Task <Either <BaseError, MediaItemScanResult <TMovie> > > UpdateSubtitles( MediaItemScanResult <TMovie> existing) { try { // skip checking subtitles for files that don't exist locally if (!_localFileSystem.FileExists(existing.LocalPath)) { return(existing); } if (await _localSubtitlesProvider.UpdateSubtitles(existing.Item, existing.LocalPath, false)) { return(existing); } return(BaseError.New("Failed to update local subtitles")); } catch (Exception ex) { return(BaseError.New(ex.ToString())); } }
private async Task <Either <BaseError, MediaItemScanResult <PlexEpisode> > > UpdateSubtitles( List <PlexPathReplacement> pathReplacements, MediaItemScanResult <PlexEpisode> result, PlexEpisode incoming) { try { PlexEpisode existing = result.Item; string localPath = _plexPathReplacementService.GetReplacementPlexPath( pathReplacements, incoming.MediaVersions.Head().MediaFiles.Head().Path, false); await _localSubtitlesProvider.UpdateSubtitles(existing, localPath, false); return(result); } catch (Exception ex) { return(BaseError.New(ex.ToString())); } }