diff --git a/NzbDrone.Core/Jobs/RenameEpisodeJob.cs b/NzbDrone.Core/Jobs/RenameEpisodeJob.cs
index f998b3e17e..cab50ac41e 100644
--- a/NzbDrone.Core/Jobs/RenameEpisodeJob.cs
+++ b/NzbDrone.Core/Jobs/RenameEpisodeJob.cs
@@ -11,15 +11,20 @@ public class RenameEpisodeJob : IJob
{
private readonly DiskScanProvider _diskScanProvider;
private readonly MediaFileProvider _mediaFileProvider;
+ private readonly ExternalNotificationProvider _externalNotificationProvider;
+ private readonly SeriesProvider _seriesProvider;
private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
[Inject]
- public RenameEpisodeJob(DiskScanProvider diskScanProvider, MediaFileProvider mediaFileProvider)
+ public RenameEpisodeJob(DiskScanProvider diskScanProvider, MediaFileProvider mediaFileProvider,
+ ExternalNotificationProvider externalNotificationProvider, SeriesProvider seriesProvider)
{
_diskScanProvider = diskScanProvider;
_mediaFileProvider = mediaFileProvider;
+ _externalNotificationProvider = externalNotificationProvider;
+ _seriesProvider = seriesProvider;
}
public string Name
@@ -39,6 +44,12 @@ public void Start(ProgressNotification notification, int targetId, int secondary
var episode = _mediaFileProvider.GetEpisodeFile(targetId);
_diskScanProvider.MoveEpisodeFile(episode);
+
+ //Start AfterRename
+ var series = _seriesProvider.GetSeries(episode.SeriesId);
+ var message = String.Format("Renamed: Series {0}, Season: {1}", series.Title, secondaryTargetId);
+ _externalNotificationProvider.AfterRename(message, series);
+
notification.CurrentMessage = String.Format("Episode rename completed for: {0} ", targetId);
}
}
diff --git a/NzbDrone.Core/Jobs/RenameSeasonJob.cs b/NzbDrone.Core/Jobs/RenameSeasonJob.cs
index 1aef4544f3..74dd089621 100644
--- a/NzbDrone.Core/Jobs/RenameSeasonJob.cs
+++ b/NzbDrone.Core/Jobs/RenameSeasonJob.cs
@@ -11,15 +11,19 @@ public class RenameSeasonJob : IJob
{
private readonly MediaFileProvider _mediaFileProvider;
private readonly DiskScanProvider _diskScanProvider;
-
+ private readonly ExternalNotificationProvider _externalNotificationProvider;
+ private readonly SeriesProvider _seriesProvider;
private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
[Inject]
- public RenameSeasonJob(MediaFileProvider mediaFileProvider, DiskScanProvider diskScanProvider)
+ public RenameSeasonJob(MediaFileProvider mediaFileProvider, DiskScanProvider diskScanProvider,
+ ExternalNotificationProvider externalNotificationProvider, SeriesProvider seriesProvider)
{
_mediaFileProvider = mediaFileProvider;
_diskScanProvider = diskScanProvider;
+ _externalNotificationProvider = externalNotificationProvider;
+ _seriesProvider = seriesProvider;
}
public string Name
@@ -54,6 +58,11 @@ public void Start(ProgressNotification notification, int targetId, int secondary
_diskScanProvider.MoveEpisodeFile(episodeFile);
}
+ //Start AfterRename
+ var series = _seriesProvider.GetSeries(targetId);
+ var message = String.Format("Renamed: Series {0}, Season: {1}", series.Title, secondaryTargetId);
+ _externalNotificationProvider.AfterRename(message, series);
+
notification.CurrentMessage = String.Format("Season rename completed for Series: {0} Season: {1}", targetId, secondaryTargetId);
}
}
diff --git a/NzbDrone.Core/Jobs/RenameSeriesJob.cs b/NzbDrone.Core/Jobs/RenameSeriesJob.cs
index 47144fe00b..19aadfcc10 100644
--- a/NzbDrone.Core/Jobs/RenameSeriesJob.cs
+++ b/NzbDrone.Core/Jobs/RenameSeriesJob.cs
@@ -11,15 +11,19 @@ public class RenameSeriesJob : IJob
{
private readonly MediaFileProvider _mediaFileProvider;
private readonly DiskScanProvider _diskScanProvider;
-
+ private readonly ExternalNotificationProvider _externalNotificationProvider;
+ private readonly SeriesProvider _seriesProvider;
private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
[Inject]
- public RenameSeriesJob(MediaFileProvider mediaFileProvider, DiskScanProvider diskScanProvider)
+ public RenameSeriesJob(MediaFileProvider mediaFileProvider, DiskScanProvider diskScanProvider,
+ ExternalNotificationProvider externalNotificationProvider, SeriesProvider seriesProvider)
{
_mediaFileProvider = mediaFileProvider;
_diskScanProvider = diskScanProvider;
+ _externalNotificationProvider = externalNotificationProvider;
+ _seriesProvider = seriesProvider;
}
public string Name
@@ -51,6 +55,11 @@ public void Start(ProgressNotification notification, int targetId, int secondary
_diskScanProvider.MoveEpisodeFile(episodeFile);
}
+ //Start AfterRename
+ var series = _seriesProvider.GetSeries(targetId);
+ var message = String.Format("Renamed: Series {0}", series.Title);
+ _externalNotificationProvider.AfterRename(message, series);
+
notification.CurrentMessage = String.Format("Series rename completed for Series: {0}", targetId);
}
}
diff --git a/NzbDrone.Core/Providers/ExternalNotification/ExternalNotificationBase.cs b/NzbDrone.Core/Providers/ExternalNotification/ExternalNotificationBase.cs
index 811713e227..43fe7bec34 100644
--- a/NzbDrone.Core/Providers/ExternalNotification/ExternalNotificationBase.cs
+++ b/NzbDrone.Core/Providers/ExternalNotification/ExternalNotificationBase.cs
@@ -41,5 +41,12 @@ protected ExternalNotificationBase(ConfigProvider configProvider)
/// The message to send to the receiver
/// The Series for the new download
public abstract void OnRename(string message, Series series);
+
+ ///
+ /// Performs the after rename action, this will be handled after all renaming for episode/season/series
+ ///
+ /// The message to send to the receiver
+ /// The Series for the new download
+ public abstract void AfterRename(string message, Series series);
}
}
diff --git a/NzbDrone.Core/Providers/ExternalNotification/Growl.cs b/NzbDrone.Core/Providers/ExternalNotification/Growl.cs
index 03de0d9f08..5d7701a243 100644
--- a/NzbDrone.Core/Providers/ExternalNotification/Growl.cs
+++ b/NzbDrone.Core/Providers/ExternalNotification/Growl.cs
@@ -70,5 +70,10 @@ public override void OnRename(string message, Series series)
{
}
+
+ public override void AfterRename(string message, Series series)
+ {
+
+ }
}
}
diff --git a/NzbDrone.Core/Providers/ExternalNotification/Prowl.cs b/NzbDrone.Core/Providers/ExternalNotification/Prowl.cs
index 0bb79fd3fe..987d3c185d 100644
--- a/NzbDrone.Core/Providers/ExternalNotification/Prowl.cs
+++ b/NzbDrone.Core/Providers/ExternalNotification/Prowl.cs
@@ -69,5 +69,10 @@ public override void OnRename(string message, Series series)
{
}
+
+ public override void AfterRename(string message, Series series)
+ {
+
+ }
}
}
diff --git a/NzbDrone.Core/Providers/ExternalNotification/Smtp.cs b/NzbDrone.Core/Providers/ExternalNotification/Smtp.cs
index 33287a053f..c3bda14c2b 100644
--- a/NzbDrone.Core/Providers/ExternalNotification/Smtp.cs
+++ b/NzbDrone.Core/Providers/ExternalNotification/Smtp.cs
@@ -47,5 +47,10 @@ public override void OnRename(string message, Series series)
{
}
+
+ public override void AfterRename(string message, Series series)
+ {
+
+ }
}
}
diff --git a/NzbDrone.Core/Providers/ExternalNotification/Twitter.cs b/NzbDrone.Core/Providers/ExternalNotification/Twitter.cs
index 79fae1a9a9..83e85b3029 100644
--- a/NzbDrone.Core/Providers/ExternalNotification/Twitter.cs
+++ b/NzbDrone.Core/Providers/ExternalNotification/Twitter.cs
@@ -39,6 +39,12 @@ public override void OnDownload(string message, Series series)
public override void OnRename(string message, Series series)
{
+
+ }
+
+ public override void AfterRename(string message, Series series)
+ {
+
}
}
}
diff --git a/NzbDrone.Core/Providers/ExternalNotification/Xbmc.cs b/NzbDrone.Core/Providers/ExternalNotification/Xbmc.cs
index 2533fc54ec..013818835e 100644
--- a/NzbDrone.Core/Providers/ExternalNotification/Xbmc.cs
+++ b/NzbDrone.Core/Providers/ExternalNotification/Xbmc.cs
@@ -44,6 +44,11 @@ public override void OnDownload(string message, Series series)
}
public override void OnRename(string message, Series series)
+ {
+
+ }
+
+ public override void AfterRename(string message, Series series)
{
UpdateAndClean(series);
}
diff --git a/NzbDrone.Core/Providers/ExternalNotificationProvider.cs b/NzbDrone.Core/Providers/ExternalNotificationProvider.cs
index 749c12875a..1016deb25f 100644
--- a/NzbDrone.Core/Providers/ExternalNotificationProvider.cs
+++ b/NzbDrone.Core/Providers/ExternalNotificationProvider.cs
@@ -108,5 +108,13 @@ public virtual void OnRename(string message, Series series)
notifier.OnRename(message, series);
}
}
+
+ public virtual void AfterRename(string message, Series series)
+ {
+ foreach (var notifier in _notifiers.Where(i => GetSettings(i.GetType()).Enable))
+ {
+ notifier.OnRename(message, series);
+ }
+ }
}
}
\ No newline at end of file