Пример #1
0
        public async Task <List <RemoteSubtitleInfo> > Search(string lang, string movieId, int season, int episode,
                                                              CancellationToken cancellationToken)
        {
            var mDb  = new MovieDb(_jsonSerializer, _httpClient, _appHost);
            var info = await mDb.GetTvInfo(movieId, cancellationToken);

            if (info == null)
            {
                return(new List <RemoteSubtitleInfo>());
            }

            #region Search TV Shows

            var html = await SearchSubF2M(info, season, lang, cancellationToken);

            #endregion

            #region Extract subtitle links

            var subtitles = ExtractSubtitles(html, season, episode, lang);

            #endregion

            return(subtitles);
        }
Пример #2
0
        public async Task <List <RemoteSubtitleInfo> > Search(string title, int?year, string lang, string movieId,
                                                              CancellationToken cancellationToken)
        {
            if (!string.IsNullOrWhiteSpace(movieId))
            {
                var mDb  = new MovieDb(_jsonSerializer, _httpClient, _appHost);
                var info = await mDb.GetMovieInfo(movieId, cancellationToken);

                if (info != null)
                {
                    year  = info.release_date.Year;
                    title = info.Title;
                    _logger?.Info($"Subf2m= Original movie title=\"{info.Title}\", year={info.release_date.Year}");
                }
            }

            #region Search Subf2m

            _logger?.Debug($"Subf2m= Searching for site search \"{title}\"");
            var html = await SearchSubF2M(title, year, lang, cancellationToken);

            if (string.IsNullOrWhiteSpace(html))
            {
                return(new List <RemoteSubtitleInfo>());
            }

            #endregion

            #region Extract subtitle links

            var subtitles = ExtractSubtitles(html, lang);

            #endregion

            return(subtitles);
        }