Catch any errors setting last write time so we don't blow up the whole process

Fixed: Prevent error when importing files that causes the process to fail
This commit is contained in:
Mark McDowall 2013-10-20 11:17:56 -07:00
parent f14fff676e
commit 743754a041
1 changed files with 16 additions and 7 deletions

View File

@ -1,6 +1,7 @@
using System;
using System.IO;
using System.Linq;
using Growl.Connector;
using NLog;
using NzbDrone.Common;
using NzbDrone.Common.EnvironmentInfo;
@ -74,15 +75,23 @@ namespace NzbDrone.Core.MediaFiles
_logger.Debug("Moving [{0}] > [{1}]", episodeFile.Path, destinationFilename);
_diskProvider.MoveFile(episodeFile.Path, destinationFilename);
_logger.Trace("Setting last write time on series folder: {0}", series.Path);
_diskProvider.SetFolderWriteTime(series.Path, episodeFile.DateAdded);
if (series.SeasonFolder)
try
{
var seasonFolder = Path.GetDirectoryName(destinationFilename);
_logger.Trace("Setting last write time on series folder: {0}", series.Path);
_diskProvider.SetFolderWriteTime(series.Path, episodeFile.DateAdded);
_logger.Trace("Setting last write time on season folder: {0}", seasonFolder);
_diskProvider.SetFolderWriteTime(seasonFolder, episodeFile.DateAdded);
if (series.SeasonFolder)
{
var seasonFolder = Path.GetDirectoryName(destinationFilename);
_logger.Trace("Setting last write time on season folder: {0}", seasonFolder);
_diskProvider.SetFolderWriteTime(seasonFolder, episodeFile.DateAdded);
}
}
catch (Exception ex)
{
_logger.WarnException("Unable to set last write time", ex);
}
//We should only run this on Windows