Example #1
0
        public override AvailableEpisodes GetAvailableEpisodes(string progExtId, ProgrammeInfo progInfo, int page)
        {
            AvailableEpisodes available = new AvailableEpisodes();
            XmlDocument       rss       = this.LoadFeedXml(new Uri(progExtId));

            XmlNodeList itemNodes = null;

            itemNodes = rss.SelectNodes("./rss/channel/item");

            if (itemNodes == null)
            {
                return(available);
            }

            foreach (XmlNode itemNode in itemNodes)
            {
                string itemId = this.ItemNodeToEpisodeID(itemNode);

                if (string.IsNullOrEmpty(itemId))
                {
                    continue;
                }

                if (this.FilterItemNode(itemNode))
                {
                    continue;
                }

                available.EpisodeIds.Add(itemId);
            }

            return(available);
        }
        public AvailableEpisodes GetAvailableEpisodes(string progExtId, ProgrammeInfo progInfo, int page)
        {
            AvailableEpisodes available = new AvailableEpisodes();
            XmlDocument       rss       = this.LoadFeedXml(new Uri(progExtId));

            XmlNodeList itemNodes = null;

            itemNodes = rss.SelectNodes("./rss/channel/item");

            if (itemNodes == null)
            {
                return(available);
            }

            List <string> episodeIDs = new List <string>();

            foreach (XmlNode itemNode in itemNodes)
            {
                string itemId = this.ItemNodeToEpisodeID(itemNode);

                if (!string.IsNullOrEmpty(itemId))
                {
                    episodeIDs.Add(itemId);
                }
            }

            available.EpisodeIds = episodeIDs.ToArray();
            return(available);
        }
        public override AvailableEpisodes GetAvailableEpisodes(string progExtId, ProgrammeInfo progInfo, int page)
        {
            AvailableEpisodes available = new AvailableEpisodes();
            XmlDocument       rss       = this.LoadFeedXml(new Uri(progExtId));

            XmlNodeList itemNodes = null;

            itemNodes = rss.SelectNodes("./rss/channel/item");

            if (itemNodes == null)
            {
                return(available);
            }

            foreach (XmlNode itemNode in itemNodes)
            {
                string itemId = this.ItemNodeToEpisodeID(itemNode);

                if (string.IsNullOrEmpty(itemId))
                {
                    continue;
                }

                if (itemNode.SelectSingleNode("./title[text()]") == null)
                {
                    continue;
                }

                var urlAttrib = itemNode.SelectSingleNode("./enclosure/@url") as XmlAttribute;

                if (urlAttrib == null)
                {
                    continue;
                }

                Uri uri;
                Uri.TryCreate(urlAttrib.Value, UriKind.Absolute, out uri);

                if (uri == null)
                {
                    continue;
                }

                available.EpisodeIds.Add(itemId);
            }

            return(available);
        }