private void TestFilename(IPodcastFeedItem podcastFeedItem) { var proposedFilename = string.Format("{0}_{1}", podcastFeedItem.Published.ToString("yyyy_MM_dd_HHmm"), podcastFeedItem.TitleAsFileName); //Debug.WriteLine(string.Format("Filename: {0}",proposedFilename)); var destinationFolder = Path.Combine(".\\media", "podcast folder"); var destinationPath = Path.Combine(destinationFolder, proposedFilename); Assert.That(destinationPath, Is.Not.Null); }
private string GetDownloadPathname(string rootFolder, IPodcastInfo podcastInfo, IPodcastFeedItem podcastFeedItem) { var proposedFilename = podcastFeedItem.FileName; switch (podcastInfo.Feed.NamingStyle.Value) { case PodcastEpisodeNamingStyle.UrlFileNameAndPublishDateTime: proposedFilename = string.Format(CultureInfo.InvariantCulture, "{0}_{1}", podcastFeedItem.Published.ToString("yyyy_MM_dd_HHmm", CultureInfo.InvariantCulture), proposedFilename); break; case PodcastEpisodeNamingStyle.UrlFileNameFeedTitleAndPublishDateTime: proposedFilename = string.Format(CultureInfo.InvariantCulture, "{0}_{1}_{2}", podcastFeedItem.Published.ToString("yyyy_MM_dd_HHmm", CultureInfo.InvariantCulture), podcastInfo.Folder, proposedFilename); break; case PodcastEpisodeNamingStyle.UrlFileNameFeedTitleAndPublishDateTimeInfolder: proposedFilename = string.Format(CultureInfo.InvariantCulture, "{0}{1}{2}_{3}_{4}", podcastFeedItem.Published.ToString("yyyy_MM", CultureInfo.InvariantCulture), _pathUtilities.GetPathSeparator(), podcastFeedItem.Published.ToString("yyyy_MM_dd_HHmm", CultureInfo.InvariantCulture), podcastInfo.Folder, proposedFilename); break; case PodcastEpisodeNamingStyle.EpisodeTitle: proposedFilename = podcastFeedItem.TitleAsFileName; break; case PodcastEpisodeNamingStyle.EpisodeTitleAndPublishDateTime: proposedFilename = string.Format(CultureInfo.InvariantCulture, "{0}_{1}", podcastFeedItem.Published.ToString("yyyy_MM_dd_HHmm", CultureInfo.InvariantCulture), podcastFeedItem.TitleAsFileName); break; case PodcastEpisodeNamingStyle.UrlFileName: break; default: throw new EnumOutOfRangeException("NamingStyle"); } return(Path.Combine(Path.Combine(rootFolder, podcastInfo.Folder), proposedFilename)); }