From 411ce2175102c7e37546971b7f07f593260732c3 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Wed, 19 Feb 2014 11:24:06 -0500 Subject: fix resolution in photo provider --- .../FileOrganization/EpisodeFileOrganizer.cs | 14 +++++++++++++- .../FileOrganization/FileOrganizationService.cs | 12 ++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) (limited to 'MediaBrowser.Server.Implementations/FileOrganization') diff --git a/MediaBrowser.Server.Implementations/FileOrganization/EpisodeFileOrganizer.cs b/MediaBrowser.Server.Implementations/FileOrganization/EpisodeFileOrganizer.cs index a2e094e9a..d4d7f2f21 100644 --- a/MediaBrowser.Server.Implementations/FileOrganization/EpisodeFileOrganizer.cs +++ b/MediaBrowser.Server.Implementations/FileOrganization/EpisodeFileOrganizer.cs @@ -50,7 +50,8 @@ namespace MediaBrowser.Server.Implementations.FileOrganization Date = DateTime.UtcNow, OriginalPath = path, OriginalFileName = Path.GetFileName(path), - Type = FileOrganizerType.Episode + Type = FileOrganizerType.Episode, + FileSize = new FileInfo(path).Length }; var seriesName = TVUtils.GetSeriesNameFromEpisodeFile(path); @@ -102,6 +103,17 @@ namespace MediaBrowser.Server.Implementations.FileOrganization _logger.Warn(msg); } + var previousResult = _organizationService.GetResultBySourcePath(path); + + if (previousResult != null) + { + // Don't keep saving the same result over and over if nothing has changed + if (previousResult.Status == result.Status && result.Status != FileSortingStatus.Success) + { + return previousResult; + } + } + await _organizationService.SaveResult(result, CancellationToken.None).ConfigureAwait(false); return result; diff --git a/MediaBrowser.Server.Implementations/FileOrganization/FileOrganizationService.cs b/MediaBrowser.Server.Implementations/FileOrganization/FileOrganizationService.cs index 518a7bb48..c03ceb6e5 100644 --- a/MediaBrowser.Server.Implementations/FileOrganization/FileOrganizationService.cs +++ b/MediaBrowser.Server.Implementations/FileOrganization/FileOrganizationService.cs @@ -64,6 +64,18 @@ namespace MediaBrowser.Server.Implementations.FileOrganization return _repo.GetResult(id); } + public FileOrganizationResult GetResultBySourcePath(string path) + { + if (string.IsNullOrEmpty(path)) + { + throw new ArgumentNullException("path"); + } + + var id = path.GetMD5().ToString("N"); + + return GetResult(id); + } + public Task DeleteOriginalFile(string resultId) { var result = _repo.GetResult(resultId); -- cgit v1.2.3