Basic UI + Wizard for custom naming added

This commit is contained in:
Mark McDowall
2013-11-09 20:20:45 -08:00
parent 7b54bca3c7
commit 0ec520c4d5
18 changed files with 422 additions and 119 deletions
+38 -10
View File
@@ -1,4 +1,5 @@
using System.Collections.Generic;
using System;
using System.Collections.Generic;
using FluentValidation;
using Nancy.Responses;
using NzbDrone.Core.MediaFiles;
@@ -28,6 +29,8 @@ namespace NzbDrone.Api.Config
Get["/samples"] = x => GetExamples(this.Bind<NamingConfigResource>());
SharedValidator.RuleFor(c => c.MultiEpisodeStyle).InclusiveBetween(0, 3);
SharedValidator.RuleFor(c => c.StandardEpisodeFormat).NotEmpty();
SharedValidator.RuleFor(c => c.DailyEpisodeFormat).NotEmpty();
}
private void UpdateNamingConfig(NamingConfigResource resource)
@@ -59,7 +62,8 @@ namespace NzbDrone.Api.Config
{
SeasonNumber = 1,
EpisodeNumber = 1,
Title = "Episode Title (1)"
Title = "Episode Title (1)",
AirDate = "2013-10-30"
};
var episode2 = new Episode
@@ -77,19 +81,43 @@ namespace NzbDrone.Api.Config
var sampleResource = new NamingSampleResource();
sampleResource.SingleEpisodeExample = _buildFileNames.BuildFilename(new List<Episode> { episode1 },
series,
episodeFile,
nameSpec);
sampleResource.SingleEpisodeExample = BuildSample(new List<Episode> { episode1 },
series,
episodeFile,
nameSpec);
episodeFile.Path = @"C:\Test\Series.Title.S01E01-E02.720p.HDTV.x264-EVOLVE.mkv";
sampleResource.MultiEpisodeExample = _buildFileNames.BuildFilename(new List<Episode> { episode1, episode2 },
series,
episodeFile,
nameSpec);
sampleResource.MultiEpisodeExample = BuildSample(new List<Episode> { episode1, episode2 },
series,
episodeFile,
nameSpec);
episodeFile.Path = @"C:\Test\Series.Title.2013.10.30.HDTV.x264-EVOLVE.mkv";
series.SeriesType = SeriesTypes.Daily;
sampleResource.DailyEpisodeExample = BuildSample(new List<Episode> { episode1 },
series,
episodeFile,
nameSpec);
return sampleResource.AsResponse();
}
private string BuildSample(List<Episode> episodes, Core.Tv.Series series, EpisodeFile episodeFile, NamingConfig nameSpec)
{
try
{
return _buildFileNames.BuildFilename(episodes,
series,
episodeFile,
nameSpec);
}
catch (NamingFormatException ex)
{
//Catching to avoid blowing up all samples
return String.Empty;
}
}
}
}