public static PlaylistData ExtractPlaylistData(string html)
        {
            var playlistData = new PlaylistData();

            playlistData.Items       = new List <PlaylistDataItem>();
            playlistData.Description = "UK Top 40 singles: http://www.bbc.co.uk/radio1/chart/singles";
            playlistData.Title       = string.Format("UK Top 40 {0:D} ", ExtractDate(html));
            playlistData.SearchKeys  = new List <string>();

            var regexChartItem = new Regex(@"<td>(?<Position>.*?)</td>.*?<td>(?<Status>.*?)</td>.*?<td>(?<Previous>.*?)</td>.*?<td>(?<Weeks>.*?)</td>.*?<td>(?<Artist>.*?)</td>.*?<td>(?<Title>.*?)</td>", RegexOptions.Singleline);
            var matches        = regexChartItem.Matches(html);

            foreach (Match m in matches)
            {
                var item = new PlaylistDataItem()
                {
                    Position = HtmlUtilities.ConvertToText(m.Groups["Position"].Value).ToInt(),
                    Status   = HtmlUtilities.ConvertToText(m.Groups["Status"].Value),
                    Weeks    = HtmlUtilities.ConvertToText(m.Groups["Weeks"].Value).ToInt(),
                    Previous = HtmlUtilities.ConvertToText(m.Groups["Previous"].Value).ToInt(),
                    Artist   = HtmlUtilities.ConvertToText(m.Groups["Artist"].Value),
                    Title    = HtmlUtilities.ConvertToText(m.Groups["Title"].Value)
                };

                playlistData.Items.Add(item);

                var searchKey = string.Format("{0} {1}", item.Artist, item.Title);
                playlistData.SearchKeys.Add(searchKey);
            }

            return(playlistData);
        }
        public static PlaylistData ExtractPlaylistData(string html)
        {
            var playlistData = new PlaylistData();
            playlistData.Items = new List<PlaylistDataItem>();
            playlistData.Description = "UK Top 40 singles: http://www.bbc.co.uk/radio1/chart/singles";
            playlistData.Title = string.Format("UK Top 40 {0:D} ", ExtractDate(html));
            playlistData.SearchKeys = new List<string>();

            var regexChartItem = new Regex(@"<td>(?<Position>.*?)</td>.*?<td>(?<Status>.*?)</td>.*?<td>(?<Previous>.*?)</td>.*?<td>(?<Weeks>.*?)</td>.*?<td>(?<Artist>.*?)</td>.*?<td>(?<Title>.*?)</td>", RegexOptions.Singleline);
            var matches = regexChartItem.Matches(html);

            foreach (Match m in matches)
            {
                var item = new PlaylistDataItem()
                {
                    Position = HtmlUtilities.ConvertToText(m.Groups["Position"].Value).ToInt(),
                    Status = HtmlUtilities.ConvertToText(m.Groups["Status"].Value),
                    Weeks = HtmlUtilities.ConvertToText(m.Groups["Weeks"].Value).ToInt(),
                    Previous = HtmlUtilities.ConvertToText(m.Groups["Previous"].Value).ToInt(),
                    Artist = HtmlUtilities.ConvertToText(m.Groups["Artist"].Value),
                    Title = HtmlUtilities.ConvertToText(m.Groups["Title"].Value)
                };

                playlistData.Items.Add(item);

                var searchKey = string.Format("{0} {1}", item.Artist, item.Title);
                playlistData.SearchKeys.Add(searchKey);
            }

            return playlistData;
        }
Пример #3
0
 public PlaylistItemViewModel(PlaylistDataItem item)
 {
     if (item ==null)
     {
         throw new NullReferenceException("null item passed to contructor");
     }
     this.item = item;
 }
Пример #4
0
        private PlaylistData CreateTestlist()
        {
            var playlistData = new PlaylistData();

            playlistData.Items       = new List <PlaylistDataItem>();
            playlistData.Description = "Test playlist";
            playlistData.Title       = string.Format("{0} playlist", Query);
            playlistData.SearchKeys  = new List <string>();

            var item1 = new PlaylistDataItem()
            {
                Artist = "Above & Beyond",
                Title  = "Lonely Girl"
            };

            var item2 = new PlaylistDataItem()
            {
                Artist = "Schiller",
                Title  = "I Feel You"
            };

            var item3 = new PlaylistDataItem()
            {
                Artist = "Radiohead",
                Title  = "Creep"
            };

            var item4 = new PlaylistDataItem()
            {
                Artist = "Avril Lavigne",
                Title  = "Nobody's Home"
            };

            playlistData.Items.Add(item1);
            playlistData.Items.Add(item2);
            playlistData.Items.Add(item3);
            playlistData.Items.Add(item4);

            foreach (var item in playlistData.Items)
            {
                var searchKey = string.Format("{0} {1}", item.Artist, item.Title);
                playlistData.SearchKeys.Add(searchKey);
            }

            return(playlistData);
        }
        private PlaylistData CreateTestlist()
        {
            var playlistData = new PlaylistData();
            playlistData.Items = new List<PlaylistDataItem>();
            playlistData.Description = "Test playlist";
            playlistData.Title = string.Format("{0} playlist", Query);
            playlistData.SearchKeys = new List<string>();

            var item1 = new PlaylistDataItem()
            {
                Artist = "Above & Beyond",
                Title = "Lonely Girl"
            };

            var item2 = new PlaylistDataItem()
            {
                Artist = "Schiller",
                Title = "I Feel You"
            };

            var item3 = new PlaylistDataItem()
            {
                Artist = "Radiohead",
                Title = "Creep"
            };

            var item4 = new PlaylistDataItem()
            {
                Artist = "Avril Lavigne",
                Title = "Nobody's Home"
            };

            playlistData.Items.Add(item1);
            playlistData.Items.Add(item2);
            playlistData.Items.Add(item3);
            playlistData.Items.Add(item4);

            foreach (var item in playlistData.Items)
            {
                var searchKey = string.Format("{0} {1}", item.Artist, item.Title);
                playlistData.SearchKeys.Add(searchKey);
            }

            return playlistData;
        }
        private PlaylistData CreatePlaylistDataFromEchoNestResponse(PlaylistResponse searchResponse)
        {
            var playlistData = new PlaylistData();
            playlistData.Items = new List<PlaylistDataItem>();
            playlistData.Description = Query;
            playlistData.Title = string.Format("{0} playlist", Query);
            playlistData.SearchKeys = new List<string>();

            foreach (var song in searchResponse.Songs)
            {
                var item = new PlaylistDataItem();
                item.Artist = song.ArtistName;
                item.Title = song.Title;
                playlistData.Items.Add(item);

                var searchKey = string.Format("{0} {1}", item.Artist, item.Title);
                playlistData.SearchKeys.Add(searchKey);
            }

            return playlistData;
        }
        private PlaylistData CreateEchonestPlaylist(string apiKey)
        {
            var seedArtists = new TermList();

            seedArtists.Add(Query);

            StaticArgument staticArgument = new StaticArgument
            {
                Results = 40,
                Artist = seedArtists,
                Type = "artist-radio"
            };

            using (var session = new EchoNestSession(apiKey))
            {
                PlaylistResponse searchResponse = session.Query<Static>().Execute(staticArgument);
                var playlistData = new PlaylistData();
                playlistData.Items = new List<PlaylistDataItem>();
                playlistData.Description = Query;
                playlistData.Title = string.Format("{0} playlist", Query);
                playlistData.SearchKeys = new List<string>();

                foreach (var song in searchResponse.Songs)
                {
                    var item = new PlaylistDataItem();
                    item.Artist = song.ArtistName;
                    item.Title = song.Title;
                    playlistData.Items.Add(item);

                    var searchKey = string.Format("{0} {1}", item.Artist, item.Title);
                    playlistData.SearchKeys.Add(searchKey);
                }

                return playlistData;
            }
        }
Пример #8
0
        private PlaylistData CreateEchonestPlaylist(string apiKey)
        {
            var seedArtists = new TermList();

            seedArtists.Add(Query);

            StaticArgument staticArgument = new StaticArgument
            {
                Results = 40,
                Artist  = seedArtists,
                Type    = "artist-radio"
            };

            using (var session = new EchoNestSession(apiKey))
            {
                PlaylistResponse searchResponse = session.Query <Static>().Execute(staticArgument);
                var playlistData = new PlaylistData();
                playlistData.Items       = new List <PlaylistDataItem>();
                playlistData.Description = Query;
                playlistData.Title       = string.Format("{0} playlist", Query);
                playlistData.SearchKeys  = new List <string>();

                foreach (var song in searchResponse.Songs)
                {
                    var item = new PlaylistDataItem();
                    item.Artist = song.ArtistName;
                    item.Title  = song.Title;
                    playlistData.Items.Add(item);

                    var searchKey = string.Format("{0} {1}", item.Artist, item.Title);
                    playlistData.SearchKeys.Add(searchKey);
                }

                return(playlistData);
            }
        }
Пример #9
0
 PlaylistData CreatePlaylistDataFromArtistAndTitle(string artist, string title)
 {
     var playlistData = new PlaylistData();
     playlistData.Items = new List<PlaylistDataItem>();
     var searchKey = string.Format("{0} - {1}", artist, title);
     playlistData.Description = searchKey;
     playlistData.Title = searchKey;
     playlistData.SearchKeys = new List<string>();
     var item = new PlaylistDataItem();
     item.Artist = artist;
     item.Title = title;
     playlistData.Items.Add(item);
     playlistData.SearchKeys.Add(searchKey);
     return playlistData;
 }