parent
9bbbc19869
commit
d6d524e624
@ -0,0 +1,8 @@
|
|||||||
|
using NzbDrone.Common.Messaging;
|
||||||
|
|
||||||
|
namespace NzbDrone.Core.DataAugmentation.Scene
|
||||||
|
{
|
||||||
|
public class UpdateSceneMappingCommand : ICommand
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,45 @@
|
|||||||
|
using System.Linq;
|
||||||
|
using NLog;
|
||||||
|
using NzbDrone.Core.IndexerSearch.Definitions;
|
||||||
|
using NzbDrone.Core.Parser.Model;
|
||||||
|
|
||||||
|
namespace NzbDrone.Core.DecisionEngine.Specifications.Search
|
||||||
|
{
|
||||||
|
public class SingleEpisodeMatchSpecification : IDecisionEngineSpecification
|
||||||
|
{
|
||||||
|
private readonly Logger _logger;
|
||||||
|
|
||||||
|
public SingleEpisodeMatchSpecification(Logger logger)
|
||||||
|
{
|
||||||
|
_logger = logger;
|
||||||
|
}
|
||||||
|
|
||||||
|
public string RejectionReason
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return "Episode doesn't match";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool IsSatisfiedBy(RemoteEpisode remoteEpisode, SearchDefinitionBase searchDefinitionBase)
|
||||||
|
{
|
||||||
|
var singleEpisodeSpec = searchDefinitionBase as SingleEpisodeSearchDefinition;
|
||||||
|
if (singleEpisodeSpec == null) return true;
|
||||||
|
|
||||||
|
if (singleEpisodeSpec.SeasonNumber != remoteEpisode.ParsedEpisodeInfo.SeasonNumber)
|
||||||
|
{
|
||||||
|
_logger.Trace("Season number does not match searched season number, skipping.");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!remoteEpisode.Episodes.Select(c => c.EpisodeNumber).Contains(singleEpisodeSpec.EpisodeNumber))
|
||||||
|
{
|
||||||
|
_logger.Trace("Episode number does not match searched episode number, skipping.");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -1,33 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Linq;
|
|
||||||
using NzbDrone.Core.DataAugmentation;
|
|
||||||
using NzbDrone.Core.DataAugmentation.Scene;
|
|
||||||
using NzbDrone.Core.Model.Notification;
|
|
||||||
|
|
||||||
namespace NzbDrone.Core.Jobs.Implementations
|
|
||||||
{
|
|
||||||
public class UpdateSceneMappingsJob : IJob
|
|
||||||
{
|
|
||||||
private readonly SceneMappingService _sceneNameMappingService;
|
|
||||||
|
|
||||||
public UpdateSceneMappingsJob(SceneMappingService sceneNameMappingService)
|
|
||||||
{
|
|
||||||
_sceneNameMappingService = sceneNameMappingService;
|
|
||||||
}
|
|
||||||
|
|
||||||
public string Name
|
|
||||||
{
|
|
||||||
get { return "Update Scene Mappings"; }
|
|
||||||
}
|
|
||||||
|
|
||||||
public TimeSpan DefaultInterval
|
|
||||||
{
|
|
||||||
get { return TimeSpan.FromHours(6); }
|
|
||||||
}
|
|
||||||
|
|
||||||
public virtual void Start(ProgressNotification notification, dynamic options)
|
|
||||||
{
|
|
||||||
_sceneNameMappingService.UpdateMappings();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in new issue