private IList <ReleaseInfo> Fetch(IIndexer indexer, SeasonSearchCriteria searchCriteria, int offset) { var searchUrls = indexer.GetSeasonSearchUrls(searchCriteria.QueryTitles, searchCriteria.Series.TvRageId, searchCriteria.SeasonNumber, offset).ToList(); if (searchUrls.Any()) { _logger.Debug("Searching for {0} offset: {1}", searchCriteria, offset); var result = Fetch(indexer, searchUrls); _logger.Info("{0} offset {1}. Found {2}", indexer, offset, result.Count); if (indexer.SupportsPaging && result.Count >= indexer.SupportedPageSize && offset < 900) { result.AddRange(Fetch(indexer, searchCriteria, offset + indexer.SupportedPageSize)); } //Only log finish for the first call to this recursive method if (offset == 0) { _logger.Info("Finished searching {0} for {1}. Found {2}", indexer, searchCriteria, result.Count); } return(result); } return(new List <ReleaseInfo>()); }
private IList<ReleaseInfo> Fetch(IIndexer indexer, SeasonSearchCriteria searchCriteria, int offset) { _logger.Debug("Searching for {0} offset: {1}", searchCriteria, offset); var searchUrls = indexer.GetSeasonSearchUrls(searchCriteria.QueryTitle, searchCriteria.Series.TvRageId, searchCriteria.SeasonNumber, offset); var result = Fetch(indexer, searchUrls); _logger.Info("{0} offset {1}. Found {2}", indexer, searchCriteria, result.Count); if (result.Count > 90) { result.AddRange(Fetch(indexer, searchCriteria, offset + 90)); } return result; }
private IList <ReleaseInfo> Fetch(IIndexer indexer, SeasonSearchCriteria searchCriteria, int offset) { _logger.Debug("Searching for {0} offset: {1}", searchCriteria, offset); var searchUrls = indexer.GetSeasonSearchUrls(searchCriteria.QueryTitle, searchCriteria.Series.TvRageId, searchCriteria.SeasonNumber, offset); var result = Fetch(indexer, searchUrls); _logger.Info("{0} offset {1}. Found {2}", indexer.Name, searchCriteria, result.Count); if (result.Count > 90) { result.AddRange(Fetch(indexer, searchCriteria, offset + 90)); } return(result); }