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);
        }
Exemple #2
0
        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));
        }