Fixed not setting MediaInfo SchemaRevision first time causing it to be fetched again during the series rescan.

This commit is contained in:
Taloth Saldono 2017-08-14 20:02:15 +02:00
parent f53cad822a
commit 34ded19be4
3 changed files with 7 additions and 8 deletions

View File

@ -60,7 +60,7 @@ namespace NzbDrone.Core.Test.MediaFiles.MediaInfo
.All() .All()
.With(v => v.RelativePath = "media.mkv") .With(v => v.RelativePath = "media.mkv")
.TheFirst(1) .TheFirst(1)
.With(v => v.MediaInfo = new MediaInfoModel { SchemaRevision = UpdateMediaInfoService.CURRENT_MEDIA_INFO_SCHEMA_REVISION }) .With(v => v.MediaInfo = new MediaInfoModel { SchemaRevision = VideoFileInfoReader.CURRENT_MEDIA_INFO_SCHEMA_REVISION })
.BuildList(); .BuildList();
Mocker.GetMock<IMediaFileService>() Mocker.GetMock<IMediaFileService>()
@ -86,7 +86,7 @@ namespace NzbDrone.Core.Test.MediaFiles.MediaInfo
.All() .All()
.With(v => v.RelativePath = "media.mkv") .With(v => v.RelativePath = "media.mkv")
.TheFirst(1) .TheFirst(1)
.With(v => v.MediaInfo = new MediaInfoModel { SchemaRevision = UpdateMediaInfoService.MINIMUM_MEDIA_INFO_SCHEMA_REVISION }) .With(v => v.MediaInfo = new MediaInfoModel { SchemaRevision = VideoFileInfoReader.MINIMUM_MEDIA_INFO_SCHEMA_REVISION })
.BuildList(); .BuildList();
Mocker.GetMock<IMediaFileService>() Mocker.GetMock<IMediaFileService>()

View File

@ -18,9 +18,6 @@ namespace NzbDrone.Core.MediaFiles.MediaInfo
private readonly IConfigService _configService; private readonly IConfigService _configService;
private readonly Logger _logger; private readonly Logger _logger;
public const int MINIMUM_MEDIA_INFO_SCHEMA_REVISION = 3;
public const int CURRENT_MEDIA_INFO_SCHEMA_REVISION = 4;
public UpdateMediaInfoService(IDiskProvider diskProvider, public UpdateMediaInfoService(IDiskProvider diskProvider,
IMediaFileService mediaFileService, IMediaFileService mediaFileService,
IVideoFileInfoReader videoFileInfoReader, IVideoFileInfoReader videoFileInfoReader,
@ -50,7 +47,6 @@ namespace NzbDrone.Core.MediaFiles.MediaInfo
if (mediaFile.MediaInfo != null) if (mediaFile.MediaInfo != null)
{ {
mediaFile.MediaInfo.SchemaRevision = CURRENT_MEDIA_INFO_SCHEMA_REVISION;
_mediaFileService.Update(mediaFile); _mediaFileService.Update(mediaFile);
_logger.Debug("Updated MediaInfo for '{0}'", path); _logger.Debug("Updated MediaInfo for '{0}'", path);
} }
@ -66,7 +62,7 @@ namespace NzbDrone.Core.MediaFiles.MediaInfo
} }
var allMediaFiles = _mediaFileService.GetFilesBySeries(message.Series.Id); var allMediaFiles = _mediaFileService.GetFilesBySeries(message.Series.Id);
var filteredMediaFiles = allMediaFiles.Where(c => c.MediaInfo == null || c.MediaInfo.SchemaRevision < MINIMUM_MEDIA_INFO_SCHEMA_REVISION).ToList(); var filteredMediaFiles = allMediaFiles.Where(c => c.MediaInfo == null || c.MediaInfo.SchemaRevision < VideoFileInfoReader.MINIMUM_MEDIA_INFO_SCHEMA_REVISION).ToList();
UpdateMediaInfo(message.Series, filteredMediaFiles); UpdateMediaInfo(message.Series, filteredMediaFiles);
} }

View File

@ -17,6 +17,8 @@ namespace NzbDrone.Core.MediaFiles.MediaInfo
private readonly IDiskProvider _diskProvider; private readonly IDiskProvider _diskProvider;
private readonly Logger _logger; private readonly Logger _logger;
public const int MINIMUM_MEDIA_INFO_SCHEMA_REVISION = 3;
public const int CURRENT_MEDIA_INFO_SCHEMA_REVISION = 4;
public VideoFileInfoReader(IDiskProvider diskProvider, Logger logger) public VideoFileInfoReader(IDiskProvider diskProvider, Logger logger)
{ {
@ -145,7 +147,8 @@ namespace NzbDrone.Core.MediaFiles.MediaInfo
VideoFps = videoFrameRate, VideoFps = videoFrameRate,
AudioLanguages = audioLanguages, AudioLanguages = audioLanguages,
Subtitles = subtitles, Subtitles = subtitles,
ScanType = scanType ScanType = scanType,
SchemaRevision = CURRENT_MEDIA_INFO_SCHEMA_REVISION
}; };
return mediaInfoModel; return mediaInfoModel;