namespace NzbDrone.Core.Providers
{
public class PostProcessingProvider
{
private readonly MediaFileProvider _mediaFileProvider ;
private readonly RenameProvider _renameProvider ;
private readonly SeriesProvider _seriesProvider ;
public PostProcessingProvider ( SeriesProvider seriesProvider ,
MediaFileProvider mediaFileProvider , RenameProvider renameProvider )
{
_seriesProvider = seriesProvider ;
_mediaFileProvider = mediaFileProvider ;
_renameProvider = renameProvider ;
}
public virtual void ProcessEpisode ( string dir , string nzbName )
{
var parsedSeries = Parser . ParseSeriesName ( nzbName ) ;
var series = _seriesProvider . FindSeries ( parsedSeries ) ;
if ( series = = null )
return ;
//Import the files, and then rename the newly added ones.
var fileList = _mediaFileProvider . Scan ( series , dir ) ;
foreach ( var file in fileList )
{
//Notifications will be sent from the Renamer, depending on the bool NewDownload (which will be set to true from here), a normal rename will be treated as such.
_renameProvider . RenameEpisodeFile ( file . EpisodeFileId , true ) ;
}
}
}
}