public static bool IsDownloadRequiredWrpr(DnLd dl) { var reason = ""; var isRequired = PodHelper.IsDownloadRequired(dl, ref reason); dl.RunTimeNote = $"<rsn={reason}> <{dl.CastFilenameExt}>"; return(isRequired); }
public Episode ParseEpisode(EpisodeRaw eraw) { Episode episode = new Episode(); episode.Title = eraw.Title; episode.GUID = eraw.guid; if (!string.IsNullOrEmpty(eraw.LinkWebsiteURL)) { episode.WebsiteURL = eraw.LinkWebsiteURL.ToLower(); } DateTime pubdate; if (DateTime.TryParse(eraw.PubDate, out pubdate)) { episode.PubDate = pubdate; } else { episode.PubDate = DateTime.Now; } if (!string.IsNullOrEmpty(eraw.Description)) { episode.Description = eraw.Description; if (PodHelper.CheckTextForHtmlEncode(episode.Description)) { episode.Description = System.Net.WebUtility.HtmlDecode(episode.Description); } episode.DescriptionContainsMarkup = PodHelper.CheckTextForMarkup(episode.Description); } if (!string.IsNullOrEmpty(eraw.ContentEncoded)) { episode.Content = eraw.ContentEncoded; if (PodHelper.CheckTextForHtmlEncode(episode.Content)) { episode.Content = System.Net.WebUtility.HtmlDecode(episode.Content); } episode.ContentContainsMarkup = PodHelper.CheckTextForMarkup(episode.Content); } if (!string.IsNullOrEmpty(eraw.ItunesSubtitle)) { episode.Subtitle = eraw.ItunesSubtitle; if (PodHelper.CheckTextForHtmlEncode(episode.Subtitle)) { episode.Subtitle = System.Net.WebUtility.HtmlDecode(episode.Subtitle); } } if (!string.IsNullOrEmpty(eraw.ItunesSummary)) { episode.Summary = eraw.ItunesSummary; if (PodHelper.CheckTextForHtmlEncode(episode.Summary)) { episode.Summary = System.Net.WebUtility.HtmlDecode(episode.Summary); } } episode.Keywords = eraw.ItunesKeywords; episode.Contributors = eraw.Contributors; if (eraw.MediaCredits != null && eraw.MediaCredits.Count > 0) { if (episode.Contributors == null) { episode.Contributors = new List <Contributor>(); } foreach (var mc in eraw.MediaCredits) { episode.Contributors.Add(new Contributor() { Name = mc.Name }); } } if (episode.HasContributors) { foreach (var c in episode.Contributors) { if (!string.IsNullOrEmpty(c.URI)) { c.URI = c.URI.ToLower(); } } } episode.Chapters = eraw.PSCChapters; episode.PaymentLinks = eraw.LinkPayments; if (episode.HasPaymentLinks) { foreach (var p in episode.PaymentLinks) { p.URL = p.URL.ToLower(); } } if (!string.IsNullOrEmpty(eraw.MediaItemURL)) { episode.MediaContent = ParseMediaItem(eraw); } return(episode); }