using System; using NzbDrone.Core.Model; namespace NzbDrone.Core.Helpers { public static class EpisodeRenameHelper { public static string GetNewName(EpisodeRenameModel erm) { //Todo: Get the users preferred naming convention instead of hard-coding it if (erm.EpisodeFile.Episodes.Count == 1) { return String.Format("{0} - S{1:00}E{2:00} - {3}", erm.SeriesName, erm.EpisodeFile.Episodes[0].SeasonNumber, erm.EpisodeFile.Episodes[0].EpisodeNumber, erm.EpisodeFile.Episodes[0].Title); } var epNumberString = String.Empty; var epNameString = String.Empty; foreach (var episode in erm.EpisodeFile.Episodes) { epNumberString = epNumberString + String.Format("E{0:00}", episode.EpisodeNumber); epNameString = epNameString + String.Format("+ {0}", episode.Title).Trim(' ', '+'); } return String.Format("{0} - S{1:00}E{2} - {3}", erm.SeriesName, erm.EpisodeFile.Episodes[0].SeasonNumber, epNumberString, epNameString); } public static string GetSeasonFolder(int seasonNumber, string seasonFolderFormat) { return seasonFolderFormat.Replace("%s", seasonNumber.ToString()).Replace("%0s", seasonNumber.ToString("00")); } public static string GetNameForNotify(EpisodeRenameModel erm) { if (erm.EpisodeFile.Episodes.Count == 1) { return String.Format("{0} - S{1:00}E{2:00} - {3}", erm.SeriesName, erm.EpisodeFile.Episodes[0].SeasonNumber, erm.EpisodeFile.Episodes[0].EpisodeNumber, erm.EpisodeFile.Episodes[0].Title); } var epNumberString = String.Empty; var epNameString = String.Empty; foreach (var episode in erm.EpisodeFile.Episodes) { epNumberString = epNumberString + String.Format("E{0:00}", episode.EpisodeNumber); epNameString = epNameString + String.Format("+ {0}", episode.Title).Trim(' ', '+'); } return String.Format("{0} - S{1:00}E{2} - {3}", erm.SeriesName, erm.EpisodeFile.Episodes[0].SeasonNumber, epNumberString, epNameString); } } }