Advanced option to disable media info for add series/rescan

This commit is contained in:
Mark McDowall 2014-12-14 10:50:38 -08:00
parent 5f927722df
commit e637d68157
6 changed files with 46 additions and 0 deletions

View File

@ -20,5 +20,6 @@ namespace NzbDrone.Api.Config
public Boolean SkipFreeSpaceCheckWhenImporting { get; set; }
public Boolean CopyUsingHardlinks { get; set; }
public Boolean EnableMediaInfo { get; set; }
}
}

View File

@ -10,6 +10,7 @@ using NzbDrone.Core.Test.Framework;
using NzbDrone.Core.Tv;
using NzbDrone.Test.Common;
using System;
using NzbDrone.Core.Configuration;
namespace NzbDrone.Core.Test.MediaFiles.MediaInfo
{
@ -26,6 +27,10 @@ namespace NzbDrone.Core.Test.MediaFiles.MediaInfo
Id = 1,
Path = @"C:\series".AsOsAgnostic()
};
Mocker.GetMock<IConfigService>()
.SetupGet(s => s.EnableMediaInfo)
.Returns(true);
}
private void GivenFileExists()

View File

@ -219,6 +219,13 @@ namespace NzbDrone.Core.Configuration
set { SetValue("CopyUsingHardlinks", value); }
}
public Boolean EnableMediaInfo
{
get { return GetValueBoolean("EnableMediaInfo", true); }
set { SetValue("EnableMediaInfo", value); }
}
public Boolean SetPermissionsLinux
{
get { return GetValueBoolean("SetPermissionsLinux", false); }

View File

@ -37,6 +37,7 @@ namespace NzbDrone.Core.Configuration
FileDateType FileDate { get; set; }
Boolean SkipFreeSpaceCheckWhenImporting { get; set; }
Boolean CopyUsingHardlinks { get; set; }
Boolean EnableMediaInfo { get; set; }
//Permissions (Media Management)
Boolean SetPermissionsLinux { get; set; }

View File

@ -6,6 +6,7 @@ using NzbDrone.Core.Messaging.Events;
using NzbDrone.Core.Tv;
using System.Collections.Generic;
using System.Linq;
using NzbDrone.Core.Configuration;
namespace NzbDrone.Core.MediaFiles.MediaInfo
{
@ -14,16 +15,19 @@ namespace NzbDrone.Core.MediaFiles.MediaInfo
private readonly IDiskProvider _diskProvider;
private readonly IMediaFileService _mediaFileService;
private readonly IVideoFileInfoReader _videoFileInfoReader;
private readonly IConfigService _configService;
private readonly Logger _logger;
public UpdateMediaInfoService(IDiskProvider diskProvider,
IMediaFileService mediaFileService,
IVideoFileInfoReader videoFileInfoReader,
IConfigService configService,
Logger logger)
{
_diskProvider = diskProvider;
_mediaFileService = mediaFileService;
_videoFileInfoReader = videoFileInfoReader;
_configService = configService;
_logger = logger;
}
@ -51,6 +55,12 @@ namespace NzbDrone.Core.MediaFiles.MediaInfo
public void Handle(SeriesScannedEvent message)
{
if (!_configService.EnableMediaInfo)
{
_logger.Debug("MediaInfo is disabled");
return;
}
var mediaFiles = _mediaFileService.GetFilesBySeries(message.Series.Id)
.Where(c => c.MediaInfo == null)
.ToList();

View File

@ -45,6 +45,28 @@
</div>
</div>
<div class="form-group advanced-setting">
<label class="col-sm-3 control-label">Use Media Info</label>
<div class="col-sm-9">
<div class="input-group">
<label class="checkbox toggle well">
<input type="checkbox" name="enableMediaInfo"/>
<p>
<span>Yes</span>
<span>No</span>
</p>
<div class="btn btn-primary slide-button"/>
</label>
<span class="help-inline-checkbox">
<i class="icon-nd-form-info" title="Use Media Info to scan files on refresh and when adding series?"/>
</span>
</div>
</div>
</div>
<div class="form-group advanced-setting">
<label class="col-sm-3 control-label">Change File Date</label>