Merge branch 'develop'

This commit is contained in:
Mark McDowall 2014-06-03 06:40:18 -07:00
commit fc43256a92
25 changed files with 111 additions and 34 deletions

BIN
Logo/1024.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

BIN
Logo/128.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

BIN
Logo/16.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 707 B

BIN
Logo/256.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
Logo/32.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

BIN
Logo/400.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

BIN
Logo/48.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

BIN
Logo/512.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

BIN
Logo/800.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

View File

@ -0,0 +1,54 @@
using System;
using System.Collections.Generic;
using System.Linq;
using FizzWare.NBuilder;
using Moq;
using NUnit.Framework;
using NzbDrone.Common.Disk;
using NzbDrone.Core.HealthCheck.Checks;
using NzbDrone.Core.Test.Framework;
using NzbDrone.Core.Tv;
namespace NzbDrone.Core.Test.HealthCheck.Checks
{
[TestFixture]
public class RootFolderCheckFixture : CoreTest<RootFolderCheck>
{
private void GivenMissingRootFolder()
{
var series = Builder<Series>.CreateListOfSize(1)
.Build()
.ToList();
Mocker.GetMock<ISeriesService>()
.Setup(s => s.GetAllSeries())
.Returns(series);
Mocker.GetMock<IDiskProvider>()
.Setup(s => s.GetParentFolder(series.First().Path))
.Returns(@"C:\TV");
Mocker.GetMock<IDiskProvider>()
.Setup(s => s.FolderExists(It.IsAny<String>()))
.Returns(false);
}
[Test]
public void should_not_return_error_when_no_series()
{
Mocker.GetMock<ISeriesService>()
.Setup(s => s.GetAllSeries())
.Returns(new List<Series>());
Subject.Check().ShouldBeOk();
}
[Test]
public void should_return_error_if_series_parent_is_missing()
{
GivenMissingRootFolder();
Subject.Check().ShouldBeError();
}
}
}

View File

@ -1,8 +1,10 @@
using System; using System;
using FluentAssertions;
using Moq; using Moq;
using NUnit.Framework; using NUnit.Framework;
using NzbDrone.Common.Disk; using NzbDrone.Common.Disk;
using NzbDrone.Common.EnvironmentInfo; using NzbDrone.Common.EnvironmentInfo;
using NzbDrone.Core.HealthCheck;
using NzbDrone.Core.HealthCheck.Checks; using NzbDrone.Core.HealthCheck.Checks;
using NzbDrone.Core.Test.Framework; using NzbDrone.Core.Test.Framework;

View File

@ -125,6 +125,7 @@
<Compile Include="Framework\CoreTest.cs" /> <Compile Include="Framework\CoreTest.cs" />
<Compile Include="Framework\DbTest.cs" /> <Compile Include="Framework\DbTest.cs" />
<Compile Include="Framework\NBuilderExtensions.cs" /> <Compile Include="Framework\NBuilderExtensions.cs" />
<Compile Include="HealthCheck\Checks\RootFolderCheckFixture.cs" />
<Compile Include="HealthCheck\Checks\DownloadClientCheckFixture.cs" /> <Compile Include="HealthCheck\Checks\DownloadClientCheckFixture.cs" />
<Compile Include="HealthCheck\Checks\UpdateCheckFixture.cs" /> <Compile Include="HealthCheck\Checks\UpdateCheckFixture.cs" />
<Compile Include="HealthCheck\Checks\IndexerCheckFixture.cs" /> <Compile Include="HealthCheck\Checks\IndexerCheckFixture.cs" />

View File

@ -1,5 +1,4 @@
using System; using System;
using System.Linq;
using FluentAssertions; using FluentAssertions;
using NUnit.Framework; using NUnit.Framework;
using NzbDrone.Core.Qualities; using NzbDrone.Core.Qualities;
@ -105,6 +104,7 @@ namespace NzbDrone.Core.Test.ParserTests
[TestCase("Sonny.With.a.Chance.S02E15.720p.WEB-DL.DD5.1.H.264-SURFER", false)] [TestCase("Sonny.With.a.Chance.S02E15.720p.WEB-DL.DD5.1.H.264-SURFER", false)]
[TestCase("S07E23 - [WEBDL].mkv ", false)] [TestCase("S07E23 - [WEBDL].mkv ", false)]
[TestCase("Fringe S04E22 720p WEB-DL DD5.1 H264-EbP.mkv", false)] [TestCase("Fringe S04E22 720p WEB-DL DD5.1 H264-EbP.mkv", false)]
[TestCase("House.S04.720p.Web-Dl.Dd5.1.h264-P2PACK", false)]
public void should_parse_webdl720p_quality(string title, bool proper) public void should_parse_webdl720p_quality(string title, bool proper)
{ {
ParseAndVerifyQuality(title, Quality.WEBDL720p, proper); ParseAndVerifyQuality(title, Quality.WEBDL720p, proper);

View File

@ -19,10 +19,10 @@ namespace NzbDrone.Core.HealthCheck.Checks
public override HealthCheck Check() public override HealthCheck Check()
{ {
var missingRootFolders = _seriesService.GetAllSeries() var missingRootFolders = _seriesService.GetAllSeries()
.Select(s => _diskProvider.GetParentFolder(s.Path)) .Select(s => _diskProvider.GetParentFolder(s.Path))
.Distinct() .Distinct()
.Where(s => !_diskProvider.FolderExists(s)) .Where(s => !_diskProvider.FolderExists(s))
.ToList(); .ToList();
if (missingRootFolders.Any()) if (missingRootFolders.Any())
{ {

View File

@ -32,6 +32,12 @@ namespace NzbDrone.Core.IndexerSearch
foreach (var season in series.Seasons) foreach (var season in series.Seasons)
{ {
if (!season.Monitored)
{
_logger.Debug("Season {0} of {1} is not monitored, skipping seaarch", season.SeasonNumber, series.Title);
continue;
}
var decisions = _nzbSearchService.SeasonSearch(message.SeriesId, season.SeasonNumber); var decisions = _nzbSearchService.SeasonSearch(message.SeriesId, season.SeasonNumber);
downloadedCount += _downloadApprovedReports.DownloadApproved(decisions).Count; downloadedCount += _downloadApprovedReports.DownloadApproved(decisions).Count;
} }

View File

@ -42,7 +42,7 @@ namespace NzbDrone.Core.Notifications
var episodeTitles = String.Join(" + ", episodes.Select(e => e.Title)); var episodeTitles = String.Join(" + ", episodes.Select(e => e.Title));
return String.Format("{0} - {1}{2} - {3} {4}", return String.Format("{0} - {1}{2} - {3} [{4}]",
series.Title, series.Title,
episodes.First().SeasonNumber, episodes.First().SeasonNumber,
episodeNumbers, episodeNumbers,
@ -71,7 +71,7 @@ namespace NzbDrone.Core.Notifications
public void Handle(EpisodeDownloadedEvent message) public void Handle(EpisodeDownloadedEvent message)
{ {
var downloadMessage = new DownloadMessage(); var downloadMessage = new DownloadMessage();
downloadMessage.Message = GetMessage(message.Episode.Series, message.Episode.Episodes, message.Episode.ParsedEpisodeInfo.Quality); downloadMessage.Message = GetMessage(message.Episode.Series, message.Episode.Episodes, message.Episode.Quality);
downloadMessage.Series = message.Episode.Series; downloadMessage.Series = message.Episode.Series;
downloadMessage.EpisodeFile = message.EpisodeFile; downloadMessage.EpisodeFile = message.EpisodeFile;
downloadMessage.OldFiles = message.OldFiles; downloadMessage.OldFiles = message.OldFiles;

View File

@ -88,12 +88,26 @@ namespace NzbDrone.Update
return startupContext; return startupContext;
} }
if (args.Count() >= 3) else if (args.Count() == 3)
{ {
startupContext.UpdateLocation = args[1]; startupContext.UpdateLocation = args[1];
startupContext.ExecutingApplication = args[2]; startupContext.ExecutingApplication = args[2];
} }
else
{
logger.Debug("Arguments:");
foreach (var arg in args)
{
logger.Debug(" {0}", arg);
}
var message = String.Format("Number of arguments are unexpected, expected: 3, found: {0}", args.Count());
throw new ArgumentOutOfRangeException("args", message);
}
return startupContext; return startupContext;
} }

View File

@ -119,7 +119,7 @@
} }
@media (min-width: @screen-md-min) { @media (min-width: @screen-md-min) {
width : 140px; width : 135px;
} }
} }
} }

View File

@ -5,11 +5,6 @@
@import "../Content/mixins"; @import "../Content/mixins";
@import "../Content/variables"; @import "../Content/variables";
.table {
//table-layout: fixed;
}
.series-title { .series-title {
.text-overflow(); .text-overflow();
@ -24,9 +19,10 @@
color: #428bca; color: #428bca;
text-decoration: none; text-decoration: none;
&.focus, &.hover { &:focus, &:hover {
color: #2a6496; color: #2a6496;
text-decoration: underline; text-decoration: underline;
cursor: pointer;
} }
@media @lg { @media @lg {

View File

@ -87,3 +87,19 @@ h3 {
margin-left: 0px; margin-left: 0px;
} }
} }
// Tooltips
.help-inline-checkbox, .help-inline {
.tooltip-inner {
white-space : pre-wrap;
min-width : 200px;
}
.help-link ~ .tooltip {
.tooltip-inner {
white-space : normal;
min-width : 0px;
}
}
}

View File

@ -47,7 +47,7 @@ define(
Handlebars.registerHelper('EpisodeProgressClass', function () { Handlebars.registerHelper('EpisodeProgressClass', function () {
if (this.episodeFileCount === this.episodeCount) { if (this.episodeFileCount === this.episodeCount) {
if (this.continuing) { if (this.status === 'continuing') {
return ''; return '';
} }

View File

@ -1,9 +1,9 @@
<div class="rename-preview-item"> <div class="rename-preview-item">
<div class="row"> <div class="row">
<div class="rename-checkbox span"> <div class="rename-checkbox col-md-1">
<label class="checkbox-button" title="Rename File"> <label class="checkbox-button" title="Rename File">
<input type="checkbox" name="rename"/> <input type="checkbox" name="rename"/>
<div class="btn btn-icon-only"> <div class="btn">
<i></i> <i></i>
</div> </div>
</label> </label>

View File

@ -23,15 +23,14 @@
} }
.rename-checkbox { .rename-checkbox {
width: 20px; width: 40px;
padding-top: 5px; padding-top: 5px;
margin-right: 10px; margin-right: 10px;
.checkbox-button { .checkbox-button {
.btn { .btn {
text-align: left; text-align: left;
min-width: 10px; width: 38px;
width: 10px;
} }
} }
} }
@ -47,8 +46,7 @@
.checkbox-button { .checkbox-button {
.btn { .btn {
text-align: left; text-align: left;
min-width: 10px; width: 38px;
width: 10px;
} }
} }
} }

View File

@ -9,17 +9,7 @@ define(
console.log('starting signalR'); console.log('starting signalR');
$('body').tooltip({ $('body').tooltip({
selector: '[title]', selector: '[title]'
container: 'body'
});
$(document).click(function(e) {
if ($(e.target).attr('title') !== undefined) {
return;
}
$('.tooltip').remove();
}); });
return this; return this;