コード例 #1
0
        public ParsedEpisodeInfo ParseSpecialEpisodeTitle(string title, int tvRageId, SearchCriteriaBase searchCriteria = null)
        {
            if (searchCriteria != null)
            {
                var tvdbId = _sceneMappingService.FindTvDbId(title);
                if (tvdbId.HasValue)
                {
                    if (searchCriteria.Series.TvdbId == tvdbId)
                    {
                        return(ParseSpecialEpisodeTitle(title, searchCriteria.Series));
                    }
                }

                if (tvRageId == searchCriteria.Series.TvRageId)
                {
                    return(ParseSpecialEpisodeTitle(title, searchCriteria.Series));
                }
            }

            var series = _seriesService.FindByTitleInexact(title);

            if (series == null && tvRageId > 0)
            {
                series = _seriesService.FindByTvRageId(tvRageId);
            }

            if (series == null)
            {
                _logger.Debug("No matching series {0}", title);
                return(null);
            }

            return(ParseSpecialEpisodeTitle(title, series));
        }
コード例 #2
0
        public Series FindByTitle(string title)
        {
            var tvdbId = _sceneMappingService.FindTvDbId(title);

            if (tvdbId.HasValue)
            {
                return(_seriesRepository.FindByTvdbId(tvdbId.Value));
            }

            return(_seriesRepository.FindByTitle(title.CleanSeriesTitle()));
        }