public GetSubtitleName ( |
||
eac3toConfiguration | ||
subtitle | ||
filesOutputPath | string | |
paddedEpisodeNumber | string | |
episodeName | string | |
return | string |
public override string GetSubtitleName(EAC3ToConfiguration eac3toConfiguration, BluRayTitleSubtitle subtitle, string filesOutputPath, string paddedEpisodeNumber, string episodeName)
{
if (_currentMovieRemuxTemplate == null)
throw new NullReferenceException("Current Movie Template is Null.");
StringBuilder sb = new StringBuilder();
if (eac3toConfiguration.IsExtractForRemux == true && eac3toConfiguration.IfIsExtractForRemuxIsItForAMovie)
{
string tag = this.GetFormattedTag(eac3toConfiguration, paddedEpisodeNumber);
string subtitleName = string.Format("{0}{1}{2}{3}{4}{5}{6}",
_currentMovieRemuxTemplate.SeriesName,
this.GetFormattedYear(eac3toConfiguration),
this.GetFormattedVideoResolution(eac3toConfiguration),
this.GetFormattedCountry(eac3toConfiguration),
this.GetFormattedMedium(eac3toConfiguration),
this.GetFormattedVideoFormat(eac3toConfiguration),
this.GetFormattedAuditoType(eac3toConfiguration));
sb.Append(string.Format("\"{0}\\{1}{2} {3}{4}-{5}{6}.sup\"", filesOutputPath, this.AddWordSeparator(eac3toConfiguration.IsExtractForRemux, _currentMovieRemuxTemplate.UsePeriodsInFileName, subtitleName.Trim().RemoveDoubleSpaces()), tag, subtitle.Language, paddedEpisodeNumber, subtitle.Id.RemoveColons(), this.GetSubtitleCommentary(subtitle)));
}
return sb.ToString();
}
public void movieRemuxTemplate1EAC3ToOutputNamingService_can_set_subtitle_name_when_is_commentary_and_only_required_test() { //given not extract for remux BluRaySummaryInfo summary = new BluRaySummaryInfo() { IsSelected = true, RemuxFileNameForMovieTemplate = new EAC3ToRemuxFileNameTemplate() { SeriesName = "BatchGuy", SeasonNumber = "2", } }; EAC3ToConfiguration config = new EAC3ToConfiguration() { IsExtractForRemux = true, IfIsExtractForRemuxIsItForAMovie = true }; string filesOutputPath = "c:\\bluray"; string paddedEpisodeNumber = "01"; string episodeName = string.Empty; //when i get the subtitle name IAudioService audioService = new AudioService(); AbstractEAC3ToOutputNamingService service = new MovieRemuxTemplate1EAC3ToOutputNamingService(audioService); service.SetCurrentBluRaySummaryInfo(summary); BluRayTitleSubtitle subtitle = new BluRayTitleSubtitle() { Id = "3:", Language = "english", IsCommentary = true }; string subtitleName = service.GetSubtitleName(config, subtitle, filesOutputPath, paddedEpisodeNumber, episodeName); //then subtitle name should be based on the remux template and commentary subtitleName.Should().Be("\"c:\\bluray\\BatchGuy english01-3-commentary.sup\""); }