mirror of
https://github.com/lidarr/lidarr.git
synced 2025-08-20 21:43:33 -07:00
Post Processing has been implemented, still need to finish app for SAB to NzbDrone.
This commit is contained in:
parent
ce79ab2827
commit
1314d00c97
18 changed files with 345 additions and 50 deletions
49
NzbDrone.Core/Providers/PostProcessingProvider.cs
Normal file
49
NzbDrone.Core/Providers/PostProcessingProvider.cs
Normal file
|
@ -0,0 +1,49 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Xml.Linq;
|
||||
using NzbDrone.Core.Helpers;
|
||||
|
||||
namespace NzbDrone.Core.Providers
|
||||
{
|
||||
public class PostProcessingProvider : IPostProcessingProvider
|
||||
{
|
||||
private readonly ISeriesProvider _seriesProvider;
|
||||
private readonly IConfigProvider _configProvider;
|
||||
private readonly IMediaFileProvider _mediaFileProvider;
|
||||
private readonly IRenameProvider _renameProvider;
|
||||
|
||||
public PostProcessingProvider(ISeriesProvider seriesProvider, IConfigProvider configProvider,
|
||||
IMediaFileProvider mediaFileProvider, IRenameProvider renameProvider)
|
||||
{
|
||||
_seriesProvider = seriesProvider;
|
||||
_configProvider = configProvider;
|
||||
_mediaFileProvider = mediaFileProvider;
|
||||
_renameProvider = renameProvider;
|
||||
}
|
||||
|
||||
#region IPostProcessingProvider Members
|
||||
|
||||
public 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)
|
||||
{
|
||||
//Todo: Where should we handle XBMC notifying/library updating etc? RenameProvider seems like a likely place, since we want to update XBMC after renaming (might as well)
|
||||
_renameProvider.RenameEpisodeFile(file.EpisodeFileId);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue