Esempio n. 1
0
        public async Task <IEnumerable <iTunesPodcastFinder.Models.Podcast> > SearchPodcastAsync(string searchValue)
        {
            var podcastFinder = new PodcastFinder();

            return(await podcastFinder.SearchPodcastsAsync(searchValue)
                   .ConfigureAwait(false));
        }
        public void IDExtraction()
        {
            string url1 = @"https://podcasts.apple.com/br/podcast/mamilos/id942491627?uo=2";
            string id1  = PodcastFinder.GetItunesID(url1);

            string url2 = "https://podcasts.apple.com/br/podcast/xadrez-verbal/id996967108?uo=2";
            string id2  = PodcastFinder.GetItunesID(url2);

            Assert.AreEqual("942491627", id1);
            Assert.AreEqual("996967108", id2);
        }
 public void Setup()
 {
     finder = new PodcastFinder();
 }
Esempio n. 4
0
        public async Task <Podcast> GetPodcastAsync(Uri podcastUrl)
        {
            var podcastFinder = new PodcastFinder();

            PodcastFinder.HttpClient.DefaultRequestHeaders.Add("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:77.0) Gecko/20100101 Firefox/77.0");
            var getPodcastWithEpisodesResult = await podcastFinder.GetPodcastEpisodesAsync(podcastUrl.AbsoluteUri);

            var podcast = PodcastConversion(getPodcastWithEpisodesResult.Podcast, getPodcastWithEpisodesResult.Episodes);

            return(podcast);

            /*
             * string podcastTitle = podcast.Name;
             *
             * string podcastTitleCard = (podcast.Image.Split('/').Last());
             *
             * Uri podcastTitleCardUri = new Uri(podcast.Image);
             *
             * var localPodcastPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyMusic), "EscapePod", podcastTitle);
             *
             * var pod = new Podcast()
             * {
             *  Url = new Uri(podcast.FeedUrl),
             *  Name = podcast.Name,
             *  TitleCard = new Uri(podcastTitleCard),
             *  LocalTitleCardFileFullName = GetFileFullName(localPodcastPath, podcastTitle, podcastTitleCard.Split('.').Last()),
             *  LocalPodcastPath = localPodcastPath
             * };
             *
             *
             * List<Episode> epilist = new List<Episode>();
             * foreach (var item in podcast.Episodes)
             * {
             *  string episodeTitle = item.Title;
             *
             *  StringWriter episodeTitleWriter = new StringWriter();
             *  StringWriter episodeDescriptionWriter = new StringWriter();
             *
             *  Regex reg = new Regex(@"\d+");
             *  Match match = reg.Match(item.Title);
             *  if (!match.Success)
             *  {
             *      continue;
             *  }
             *
             *  int episodeNumber = int.Parse(match.Value);
             *  string episodeDescription = item.Summary;
             *  var episodeUrl = item.Link;
             *
             *  DateTime? pubDateParam = null;
             *  DateTime pubDate = item.PubDate;
             *
             *  System.Web.HttpUtility.HtmlDecode(episodeDescription,episodeDescriptionWriter);
             *  episodeDescription = episodeDescriptionWriter.ToString();
             *  System.Web.HttpUtility.HtmlDecode(episodeTitle,episodeTitleWriter);
             *  episodeTitle = episodeTitleWriter.ToString();
             *  episodeDescription = EpisodeDescriptionParser(episodeDescription);
             *  double episodeTimestamp = 0.0;
             *  Episode episode = new Episode(pod, episodeTitle, episodeNumber, new Uri(episodeUrl), episodeDescription, episodeTimestamp, pubDateParam);
             *
             *  episode.LocalPath = GetFileFullName(episode.Podcast.LocalPodcastPath, episode.EpisodeName, episode.EpisodeUri.AbsoluteUri.Split('.').Last());
             *
             *  epilist.Add(episode);
             * }
             *
             * pod.EpisodeList = epilist;
             */
        }