private static string GetTitle(string title, Arguments arguments) => arguments.IsPopular ? $"{title} (By Popularity)" : title;
private static SyndicationFeedFormatter GetFromCache(Arguments arguments) => MemoryCache.Default.Get(arguments.ToString()) as SyndicationFeedFormatter;
private static SyndicationItem GenerateItem(PlaylistItem playlistItem, string baseAddress, Arguments arguments) { var item = new SyndicationItem( playlistItem.Snippet.Title, string.Empty, new Uri(string.Format(_videoUrlFormat, playlistItem.Snippet.ResourceId.VideoId))) { Id = playlistItem.Snippet.ResourceId.VideoId, PublishDate = playlistItem.Snippet.PublishedAt.GetValueOrDefault(), Summary = new TextSyndicationContent(playlistItem.Snippet.Description), }; if (arguments.Encoding == "Audio") { item.ElementExtensions.Add( new XElement( "enclosure", new XAttribute("type", "audio/mp4"), new XAttribute( "url", baseAddress + $"/Audio.m4a?videoId={playlistItem.Snippet.ResourceId.VideoId}")).CreateReader()); } else { item.ElementExtensions.Add( new XElement( "enclosure", new XAttribute("type", "video/mp4"), new XAttribute( "url", baseAddress + $"/Video.mp4?videoId={playlistItem.Snippet.ResourceId.VideoId}&encoding={arguments.Encoding}")).CreateReader()); } return(item); }