mirror of
https://github.com/lidarr/lidarr.git
synced 2025-08-14 10:47:08 -07:00
Metadata will be called when needed #ND-21
Import/Rename episode files Import series/update series info
This commit is contained in:
parent
eee24aff1d
commit
b122f1135e
11 changed files with 172 additions and 37 deletions
|
@ -1,9 +1,11 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System;
|
||||
using NLog;
|
||||
using Ninject;
|
||||
using NzbDrone.Core.Model.Notification;
|
||||
using NzbDrone.Core.Providers;
|
||||
using NzbDrone.Core.Repository;
|
||||
|
||||
namespace NzbDrone.Core.Jobs
|
||||
{
|
||||
|
@ -13,17 +15,20 @@ namespace NzbDrone.Core.Jobs
|
|||
private readonly DiskScanProvider _diskScanProvider;
|
||||
private readonly ExternalNotificationProvider _externalNotificationProvider;
|
||||
private readonly SeriesProvider _seriesProvider;
|
||||
private readonly MetadataProvider _metadataProvider;
|
||||
|
||||
private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
|
||||
|
||||
[Inject]
|
||||
public RenameSeriesJob(MediaFileProvider mediaFileProvider, DiskScanProvider diskScanProvider,
|
||||
ExternalNotificationProvider externalNotificationProvider, SeriesProvider seriesProvider)
|
||||
ExternalNotificationProvider externalNotificationProvider, SeriesProvider seriesProvider,
|
||||
MetadataProvider metadataProvider)
|
||||
{
|
||||
_mediaFileProvider = mediaFileProvider;
|
||||
_diskScanProvider = diskScanProvider;
|
||||
_externalNotificationProvider = externalNotificationProvider;
|
||||
_seriesProvider = seriesProvider;
|
||||
_metadataProvider = metadataProvider;
|
||||
}
|
||||
|
||||
public string Name
|
||||
|
@ -54,19 +59,32 @@ namespace NzbDrone.Core.Jobs
|
|||
return;
|
||||
}
|
||||
|
||||
var newEpisodeFiles = new List<EpisodeFile>();
|
||||
var oldEpisodeFiles = new List<EpisodeFile>();
|
||||
|
||||
foreach (var episodeFile in episodeFiles)
|
||||
{
|
||||
try
|
||||
{
|
||||
_diskScanProvider.MoveEpisodeFile(episodeFile);
|
||||
var newFile = _diskScanProvider.MoveEpisodeFile(episodeFile);
|
||||
|
||||
if (newFile != null)
|
||||
{
|
||||
newEpisodeFiles.Add(newFile);
|
||||
oldEpisodeFiles.Add(episodeFile);
|
||||
}
|
||||
}
|
||||
|
||||
catch(Exception e)
|
||||
{
|
||||
Logger.WarnException("An error has occurred while renaming file", e);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
//Remove & Create Metadata for episode files
|
||||
_metadataProvider.RemoveForEpisodeFiles(oldEpisodeFiles);
|
||||
_metadataProvider.CreateForEpisodeFiles(newEpisodeFiles);
|
||||
|
||||
//Start AfterRename
|
||||
|
||||
var message = String.Format("Renamed: Series {0}", series.Title);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue