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 FluentAssertions;
using Moq;
using NUnit.Framework;
using NzbDrone.Common.Disk;
using NzbDrone.Common.EnvironmentInfo;
using NzbDrone.Core.HealthCheck;
using NzbDrone.Core.HealthCheck.Checks;
using NzbDrone.Core.Test.Framework;

View File

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

View File

@ -1,5 +1,4 @@
using System;
using System.Linq;
using FluentAssertions;
using NUnit.Framework;
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("S07E23 - [WEBDL].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)
{
ParseAndVerifyQuality(title, Quality.WEBDL720p, proper);

View File

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

View File

@ -32,6 +32,12 @@ namespace NzbDrone.Core.IndexerSearch
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);
downloadedCount += _downloadApprovedReports.DownloadApproved(decisions).Count;
}

View File

@ -42,7 +42,7 @@ namespace NzbDrone.Core.Notifications
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,
episodes.First().SeasonNumber,
episodeNumbers,
@ -71,7 +71,7 @@ namespace NzbDrone.Core.Notifications
public void Handle(EpisodeDownloadedEvent message)
{
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.EpisodeFile = message.EpisodeFile;
downloadMessage.OldFiles = message.OldFiles;

View File

@ -88,12 +88,26 @@ namespace NzbDrone.Update
return startupContext;
}
if (args.Count() >= 3)
else if (args.Count() == 3)
{
startupContext.UpdateLocation = args[1];
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;
}

View File

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

View File

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

View File

@ -87,3 +87,19 @@ h3 {
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 () {
if (this.episodeFileCount === this.episodeCount) {
if (this.continuing) {
if (this.status === 'continuing') {
return '';
}

View File

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

View File

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

View File

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