mirror of
https://github.com/Readarr/Readarr.git
synced 2026-04-21 22:04:31 -04:00
Special Episode parsing support in ParsingService
Added ParsingService.ParseSpecialEpisodeTitle Added SeriesService.FindByNameInexact Added EpisodeService.FindSpecialEpisodeByName Added IsPossibleSpecialEpisode method to parse info DownloadDecisionMaker will try to find special episodes if a parse fails or is a possible special episode
This commit is contained in:
@@ -52,6 +52,13 @@ namespace NzbDrone.Core.DecisionEngine
|
||||
_logger.ProgressInfo("No reports found");
|
||||
}
|
||||
|
||||
// get series from search criteria
|
||||
Tv.Series series = null;
|
||||
if (searchCriteria != null)
|
||||
{
|
||||
series = searchCriteria.Series;
|
||||
}
|
||||
|
||||
var reportNumber = 1;
|
||||
|
||||
foreach (var report in reports)
|
||||
@@ -61,8 +68,21 @@ namespace NzbDrone.Core.DecisionEngine
|
||||
|
||||
try
|
||||
{
|
||||
// use parsing service to parse episode info (this allows us to do episode title searches against the episode repository)
|
||||
var parsedEpisodeInfo = Parser.Parser.ParseTitle(report.Title);
|
||||
|
||||
// do we have a possible special episode?
|
||||
if (parsedEpisodeInfo == null || parsedEpisodeInfo.IsPossibleSpecialEpisode())
|
||||
{
|
||||
// try to parse as a special episode
|
||||
var specialEpisodeInfo = _parsingService.ParseSpecialEpisodeTitle(report.Title, series);
|
||||
if (specialEpisodeInfo != null)
|
||||
{
|
||||
// use special episode
|
||||
parsedEpisodeInfo = specialEpisodeInfo;
|
||||
}
|
||||
}
|
||||
|
||||
if (parsedEpisodeInfo != null && !string.IsNullOrWhiteSpace(parsedEpisodeInfo.SeriesTitle))
|
||||
{
|
||||
var remoteEpisode = _parsingService.Map(parsedEpisodeInfo, report.TvRageId, searchCriteria);
|
||||
|
||||
Reference in New Issue
Block a user