Exemplo n.º 1
0
 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()));
        }
    }
Exemplo n.º 3
0
    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()));
        }
    }
Exemplo n.º 5
0
    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()));
        }
    }