public GenericListItemCollections GetList(SiteItemEntry entry) { GenericListItemCollections res = new GenericListItemCollections(); res.Title = entry.Title; res.Add(VevoFavorite()); res.Add(VevoUploads()); List<ArtistItem> artists = ArtistManager.Instance.GetVevoArtists(); foreach (ArtistItem artistItem in artists) { UserVideos userVideos = new UserVideos(); SiteItemEntry itemEntry = new SiteItemEntry(); itemEntry.Provider = userVideos.Name; itemEntry.SetValue("id", artistItem.User); string title = artistItem.Name; GenericListItem listItem = new GenericListItem() { Title = title, IsFolder = false, LogoUrl = artistItem.Img_url, DefaultImage = "defaultArtistBig.png", Tag = itemEntry }; res.Add(listItem); } res.ItemType = ItemType.Artist; return res; }
public GenericListItemCollections GetList(SiteItemEntry entry) { GenericListItemCollections res = new GenericListItemCollections(); res.Title = entry.Title; int count = 0; int ii = 0; int.TryParse(entry.GetValue("items"), out ii); for (int i = Youtube2MP._settings.SearchHistory.Count; i > 0; i--) { count++; SiteItemEntry newentry = new SiteItemEntry(); SearchVideo searchVideo = new SearchVideo(); newentry.Provider = searchVideo.Name; newentry.SetValue("term", Youtube2MP._settings.SearchHistory[i - 1]); GenericListItem listItem = new GenericListItem() { Title = "Search result for :" + Youtube2MP._settings.SearchHistory[i - 1], IsFolder = true, //LogoUrl = YoutubeGUIBase.GetBestUrl(youTubeEntry.Media.Thumbnails), Tag = newentry }; res.Items.Add(listItem); if (count > ii) break; } return res; }
public GenericListItemCollections HomeGetList(SiteItemEntry itemEntry) { GenericListItemCollections res = new GenericListItemCollections(); GenericListItem listItem = new GenericListItem() { Title = itemEntry.Title, IsFolder = true, //LogoUrl = YoutubeGUIBase.GetBestUrl(youTubeEntry.Media.Thumbnails), Tag = itemEntry }; res.Items.Add(listItem); return res; }
public static GenericListItem GetPager(SiteItemEntry entry, YouTubeFeed videos) { if (videos.TotalResults > videos.StartIndex + ITEM_IN_LIST) { SiteItemEntry newEntry = entry.Copy(); newEntry.StartItem += ITEM_IN_LIST; GenericListItem listItem = new GenericListItem() { Title = Translation.NextPage, IsFolder = true, DefaultImage = "NextPage.png", Tag = newEntry }; return(listItem); } return(null); }
public GenericListItemCollections HomeGetList(SiteItemEntry entry) { GenericListItemCollections res = new GenericListItemCollections(); if (entry.GetValue("flat") == "true") { int count = 0; int ii = 0; int.TryParse(entry.GetValue("items"), out ii); for (int i = Youtube2MP._settings.SearchHistory.Count; i > 0; i--) { count++; SiteItemEntry newentry = new SiteItemEntry(); SearchVideo searchVideo = new SearchVideo(); newentry.Provider = searchVideo.Name; newentry.SetValue("term", Youtube2MP._settings.SearchHistory[i - 1]); GenericListItem listItem = new GenericListItem() { Title = "Search result for :" + Youtube2MP._settings.SearchHistory[i - 1], IsFolder = true, //LogoUrl = YoutubeGUIBase.GetBestUrl(youTubeEntry.Media.Thumbnails), Tag = newentry }; res.Items.Add(listItem); if (count > ii) { break; } } } else { GenericListItem listItem = new GenericListItem() { Title = entry.Title, IsFolder = true, //LogoUrl = YoutubeGUIBase.GetBestUrl(youTubeEntry.Media.Thumbnails), Tag = entry }; res.Items.Add(listItem); } return(res); }
public GenericListItemCollections GetRecentlyPlayed() { GenericListItemCollections res = new GenericListItemCollections(); try { string lsSQL = string.Format( "SELECT VIDEOS.VIDEO_ID AS VIDEO_ID, ARTIST_ID, TITLE, IMG_URL FROM VIDEOS, PLAY_HISTORY WHERE VIDEOS.VIDEO_ID=PLAY_HISTORY.VIDEO_ID order by datePlayed DESC"); SQLiteResultSet loResultSet = m_db.Execute(lsSQL); string lastid = ""; for (int iRow = 0; iRow < loResultSet.Rows.Count; iRow++) { YouTubeEntry youTubeEntry = new YouTubeEntry(); if (lastid == DatabaseUtility.Get(loResultSet, iRow, "VIDEO_ID")) { continue; } lastid = DatabaseUtility.Get(loResultSet, iRow, "VIDEO_ID"); youTubeEntry.AlternateUri = new AtomUri("http://www.youtube.com/watch?v=" + DatabaseUtility.Get(loResultSet, iRow, "VIDEO_ID")); youTubeEntry.Title = new AtomTextConstruct(); youTubeEntry.Title.Text = DatabaseUtility.Get(loResultSet, iRow, "TITLE"); youTubeEntry.Media = new MediaGroup(); youTubeEntry.Media.Description = new MediaDescription(""); youTubeEntry.Id = new AtomId(youTubeEntry.AlternateUri.Content); GenericListItem listItem = new GenericListItem() { Title = youTubeEntry.Title.Text, IsFolder = false, LogoUrl = DatabaseUtility.Get(loResultSet, iRow, "IMG_URL"), Tag = youTubeEntry, //ParentTag = artistItem }; res.Items.Add(listItem); } ; } catch (Exception exception) { Log.Error(exception); } return(res); }
public GenericListItemCollections GetList(SiteItemEntry entry) { GenericListItemCollections res = new GenericListItemCollections(); res.Title = entry.Title; YouTubeQuery query = new YouTubeQuery(YouTubeQuery.CreatePlaylistsUri(entry.GetValue("id"))); PlaylistsFeed userPlaylists = Youtube2MP.service.GetPlaylists(query); res.Title = userPlaylists.Title.Text; foreach (PlaylistsEntry playlistsEntry in userPlaylists.Entries) { Google.GData.Extensions.XmlExtension e = playlistsEntry.FindExtension("group", "http://search.yahoo.com/mrss/") as Google.GData.Extensions.XmlExtension; string img = "http://i2.ytimg.com/vi/hqdefault.jpg"; try { img = e.Node.FirstChild.Attributes["url"].Value; } catch { } PlayList playList = new PlayList(); SiteItemEntry itemEntry = new SiteItemEntry(); itemEntry.Provider = playList.Name; itemEntry.SetValue("url", playlistsEntry.Content.AbsoluteUri); string title = playlistsEntry.Title.Text; GenericListItem listItem = new GenericListItem() { Title = title, IsFolder = false, LogoUrl = img.Replace("default", "hqdefault"), //DefaultImage = "defaultArtistBig.png", Tag = itemEntry }; res.Add(listItem); } res.ItemType = ItemType.Item; return(res); }
protected void rptSubjectAreas_OnItemDataBound(object sender, RepeaterItemEventArgs e) { GenericListItem gl = null; Literal subjectarea = null; if (e.Item.DataItem != null) { gl = (GenericListItem)e.Item.DataItem; } if (e.Item.FindControl("litAbout") != null) { subjectarea = (Literal)e.Item.FindControl("litAbout"); } if (gl != null && subjectarea != null) { subjectarea.Text = "<a href='" + gl.Value + "'>" + gl.Text + "</a>"; } }
protected void rptAuthors_OnItemDataBound(object sender, RepeaterItemEventArgs e) { GenericListItem gl = null; Literal authors = null; if (e.Item.DataItem != null) { gl = (GenericListItem)e.Item.DataItem; } if (e.Item.FindControl("litAuthor") != null) { authors = (Literal)e.Item.FindControl("litAuthor"); } if (gl != null && authors != null) { authors.Text = "<a href='" + gl.Value + "'>" + gl.Text + "</a>"; } }
public GenericListItemCollections GetTopPlayed(int numPlay) { GenericListItemCollections res = new GenericListItemCollections(); try { string lsSQL = string.Format( "select * from (SELECT VIDEOS.VIDEO_ID AS VIDEO_ID, ARTIST_ID, TITLE, IMG_URL, count(PLAY_HISTORY.VIDEO_ID) as num_play FROM VIDEOS, PLAY_HISTORY WHERE VIDEOS.VIDEO_ID=PLAY_HISTORY.VIDEO_ID group by VIDEOS.VIDEO_ID, ARTIST_ID, TITLE, IMG_URL order by count(PLAY_HISTORY.VIDEO_ID) desc)where num_play>" + numPlay.ToString()); SQLiteResultSet loResultSet = m_db.Execute(lsSQL); for (int iRow = 0; iRow < loResultSet.Rows.Count; iRow++) { YouTubeEntry youTubeEntry = new YouTubeEntry(); youTubeEntry.AlternateUri = new AtomUri("http://www.youtube.com/watch?v=" + DatabaseUtility.Get(loResultSet, iRow, "VIDEO_ID")); youTubeEntry.Title = new AtomTextConstruct(); youTubeEntry.Title.Text = DatabaseUtility.Get(loResultSet, iRow, "TITLE"); youTubeEntry.Media = new MediaGroup(); youTubeEntry.Media.Description = new MediaDescription(""); youTubeEntry.Id = new AtomId(youTubeEntry.AlternateUri.Content); GenericListItem listItem = new GenericListItem() { Title = youTubeEntry.Title.Text, IsFolder = false, LogoUrl = DatabaseUtility.Get(loResultSet, iRow, "IMG_URL"), Tag = youTubeEntry, Title2 = DatabaseUtility.Get(loResultSet, iRow, "num_play"), //ParentTag = artistItem }; res.Items.Add(listItem); } ; } catch (Exception exception) { Log.Error(exception); } return(res); }
public GenericListItemCollections GetList(SiteItemEntry entry) { GenericListItemCollections res = new GenericListItemCollections(); res.Title = entry.Title; { SiteItemEntry itemEntry = new SiteItemEntry(); itemEntry.Provider = new UserPlaylists().Name; itemEntry.SetValue("id", entry.GetValue("id")); string title = "Playlist"; GenericListItem listItem = new GenericListItem() { Title = title, IsFolder = false, LogoUrl = entry.GetValue("imgurl"), //DefaultImage = "defaultArtistBig.png", Tag = itemEntry }; res.Add(listItem); } { SiteItemEntry itemEntry = new SiteItemEntry(); itemEntry.Provider = new UserVideos().Name; itemEntry.SetValue("id", entry.GetValue("id")); string title = "Uploads"; GenericListItem listItem = new GenericListItem() { Title = title, IsFolder = false, LogoUrl = entry.GetValue("imgurl"), //DefaultImage = "defaultArtistBig.png", Tag = itemEntry }; res.Add(listItem); } res.ItemType = ItemType.Item; return(res); }
public GenericListItemCollections GetList(SiteItemEntry entry) { GenericListItemCollections res = new GenericListItemCollections(); res.Title = entry.Title; { SiteItemEntry itemEntry = new SiteItemEntry(); itemEntry.Provider = new UserPlaylists().Name; itemEntry.SetValue("id", entry.GetValue("id")); string title = "Playlist"; GenericListItem listItem = new GenericListItem() { Title = title, IsFolder = false, LogoUrl = entry.GetValue("imgurl"), //DefaultImage = "defaultArtistBig.png", Tag = itemEntry }; res.Add(listItem); } { SiteItemEntry itemEntry = new SiteItemEntry(); itemEntry.Provider = new UserVideos().Name; itemEntry.SetValue("id", entry.GetValue("id")); string title = "Uploads"; GenericListItem listItem = new GenericListItem() { Title = title, IsFolder = false, LogoUrl = entry.GetValue("imgurl"), //DefaultImage = "defaultArtistBig.png", Tag = itemEntry }; res.Add(listItem); } res.ItemType = ItemType.Item; return res; }
public GenericListItemCollections GetList(SiteItemEntry entry) { GenericListItemCollections res = new GenericListItemCollections(); res.Title = entry.Title; if (string.IsNullOrEmpty(entry.GetValue("level"))) { foreach (KeyValuePair<string, string> keyValuePair in _settings.Regions) { SiteItemEntry newentry = new SiteItemEntry(); newentry.Provider = this.Name; newentry.SetValue("region", keyValuePair.Key); newentry.SetValue("level", "1"); newentry.Title = keyValuePair.Key; GenericListItem listItem = new GenericListItem() { Title = keyValuePair.Key, IsFolder = true, Tag = newentry }; res.Items.Add(listItem); } } else if (entry.GetValue("level") == "1") { { SiteItemEntry newentry = new SiteItemEntry(); newentry.Provider =this.Name; newentry.SetValue("region", entry.GetValue("region")); newentry.SetValue("level", "2"); newentry.SetValue("hd", "false"); newentry.Title = entry.Title + "/" + "All"; GenericListItem listItem = new GenericListItem() { Title = "All", IsFolder = true, Tag = newentry }; res.Items.Add(listItem); } { SiteItemEntry newentry = new SiteItemEntry(); newentry.Provider = this.Name; newentry.SetValue("region", entry.GetValue("region")); newentry.SetValue("level", "2"); newentry.SetValue("hd", "true"); newentry.Title = entry.Title + "/" + "HD"; GenericListItem listItem = new GenericListItem() { Title = "HD", IsFolder = true, Tag = newentry }; res.Items.Add(listItem); } } else if (entry.GetValue("level") == "2") { for (int i = 0; i < _settings.Cats.Count; i++) { SiteItemEntry newentry = new SiteItemEntry(); newentry.Provider = i > 4 ? "Standard feed" : this.Name; newentry.SetValue("region", entry.GetValue("region")); newentry.SetValue("hd", entry.GetValue("hd")); newentry.SetValue("level", "3"); newentry.SetValue("feedint", i.ToString()); newentry.Title = entry.Title + "/" + _settings.Cats[i]; GenericListItem listItem = new GenericListItem() { Title = _settings.Cats[i], IsFolder = true, Tag = newentry }; res.Items.Add(listItem); } } else if (entry.GetValue("level") == "3") { for (int i = 0; i < _settings.TimeList.Count; i++) { SiteItemEntry newentry = new SiteItemEntry(); newentry.Provider = "Standard feed"; newentry.SetValue("region", entry.GetValue("region")); newentry.SetValue("hd", entry.GetValue("hd")); newentry.SetValue("level", "4"); newentry.SetValue("feedint", entry.GetValue("feedint")); newentry.SetValue("time", _settings.TimeList[i]); newentry.Title = entry.Title + "/" + _settings.TimeList[i]; GenericListItem listItem = new GenericListItem() { Title = _settings.TimeList[i], IsFolder = true, Tag = newentry }; res.Items.Add(listItem); } } return res; }
public GenericListItemCollections GetList(SiteItemEntry entry) { GenericListItemCollections res = new GenericListItemCollections(); res.Title = entry.Title; if (string.IsNullOrEmpty(entry.GetValue("level"))) { foreach (KeyValuePair <string, string> keyValuePair in _settings.Regions) { SiteItemEntry newentry = new SiteItemEntry(); newentry.Provider = this.Name; newentry.SetValue("region", keyValuePair.Key); newentry.SetValue("level", "1"); newentry.Title = keyValuePair.Key; GenericListItem listItem = new GenericListItem() { Title = keyValuePair.Key, IsFolder = true, Tag = newentry }; res.Items.Add(listItem); } } else if (entry.GetValue("level") == "1") { { SiteItemEntry newentry = new SiteItemEntry(); newentry.Provider = this.Name; newentry.SetValue("region", entry.GetValue("region")); newentry.SetValue("level", "2"); newentry.SetValue("hd", "false"); newentry.Title = entry.Title + "/" + "All"; GenericListItem listItem = new GenericListItem() { Title = "All", IsFolder = true, Tag = newentry }; res.Items.Add(listItem); } { SiteItemEntry newentry = new SiteItemEntry(); newentry.Provider = this.Name; newentry.SetValue("region", entry.GetValue("region")); newentry.SetValue("level", "2"); newentry.SetValue("hd", "true"); newentry.Title = entry.Title + "/" + "HD"; GenericListItem listItem = new GenericListItem() { Title = "HD", IsFolder = true, Tag = newentry }; res.Items.Add(listItem); } } else if (entry.GetValue("level") == "2") { for (int i = 0; i < _settings.Cats.Count; i++) { SiteItemEntry newentry = new SiteItemEntry(); newentry.Provider = i > 4 ? "Standard feed" : this.Name; newentry.SetValue("region", entry.GetValue("region")); newentry.SetValue("hd", entry.GetValue("hd")); newentry.SetValue("level", "3"); newentry.SetValue("feedint", i.ToString()); newentry.Title = entry.Title + "/" + _settings.Cats[i]; GenericListItem listItem = new GenericListItem() { Title = _settings.Cats[i], IsFolder = true, Tag = newentry }; res.Items.Add(listItem); } } else if (entry.GetValue("level") == "3") { for (int i = 0; i < _settings.TimeList.Count; i++) { SiteItemEntry newentry = new SiteItemEntry(); newentry.Provider = "Standard feed"; newentry.SetValue("region", entry.GetValue("region")); newentry.SetValue("hd", entry.GetValue("hd")); newentry.SetValue("level", "4"); newentry.SetValue("feedint", entry.GetValue("feedint")); newentry.SetValue("time", _settings.TimeList[i]); newentry.Title = entry.Title + "/" + _settings.TimeList[i]; GenericListItem listItem = new GenericListItem() { Title = _settings.TimeList[i], IsFolder = true, Tag = newentry }; res.Items.Add(listItem); } } return(res); }
public GenericListItemCollections GetArtistVideosIds(string artist_name) { string site = DownloadArtistInfo(artist_name); GetSimilarArtistsSite(site); string playlist_id = null; try { Regex regexObj = new Regex("data-list_id=\"(?<name>.*?)\"", RegexOptions.Singleline); playlist_id = regexObj.Match(site).Groups["name"].Value; } catch (ArgumentException ex) { // Syntax error in the regular expression } site = DownloadString(string.Format("http://www.youtube.com/playlist?list={0}", playlist_id)); GenericListItemCollections res = new GenericListItemCollections(); try { //------------------------------ //string img = Regex.Match(site, "<img class=\"artist-image\" src=\"(?<url>.*?)\" />", RegexOptions.Singleline).Groups["url"].Value; //ArtistItem artistItem = ArtistManager.Instance.GetArtistsById(artist_id); //artistItem.Img_url = img; //ArtistManager.Instance.Save(artistItem); //---------------------------- //@"<li class=""playlist-video-item.*?<a href=""/watch\?v=(?<vid_id>.*?)&.*?data-thumb=""(?<thumb>.*?)"".*?<span class=""video-time"">(?<duration>.*?)</span>" //Regex regexObj = new Regex("album-row.*?data-video-ids=\"(?<vid_id>.*?)\".*?<span class=\"clip\"><img src=\"(?<thumb>.*?)\".*?album-track-name\">(?<title>.*?)</span>", RegexOptions.Singleline); Regex regexObj = new Regex(@"playlist-video-item.*?<a href=""/watch\?v=(?<vid_id>.*?)&.*?data-thumb=""(?<thumb>.*?)"".*?<span class=""video-time"">(?<duration>.*?)</span>.*?video-title "" dir=""ltr"">(?<title>.*?)</span>", RegexOptions.Singleline); Match matchResult = regexObj.Match(site); while (matchResult.Success) { YouTubeEntry youTubeEntry = new YouTubeEntry(); youTubeEntry.AlternateUri = new AtomUri("http://www.youtube.com/watch?v=" + matchResult.Groups["vid_id"].Value); youTubeEntry.Title = new AtomTextConstruct(); youTubeEntry.Title.Text = HttpUtility.HtmlDecode(matchResult.Groups["title"].Value); youTubeEntry.Media = new MediaGroup(); youTubeEntry.Media.Description = new MediaDescription(""); youTubeEntry.Id = new AtomId(youTubeEntry.AlternateUri.Content); GenericListItem listItem = new GenericListItem() { Title = youTubeEntry.Title.Text, IsFolder = false, LogoUrl = "http:" + matchResult.Groups["thumb"].Value.Replace("default.jpg", "hqdefault.jpg"), Tag = youTubeEntry, Title2 = matchResult.Groups["duration"].Value, //ParentTag = artistItem }; res.Items.Add(listItem); //resultList.Add(matchResult.Groups["groupname"].Value); matchResult = matchResult.NextMatch(); } } catch (Exception ex) { // Syntax error in the regular expression } res.ItemType = ItemType.Video; return(res); }
public GenericListItemCollections GetList(SiteItemEntry entry) { GenericListItemCollections res = new GenericListItemCollections(); if (entry.GetValue("letter") == "") { { res.Title = "Artists"; SiteItemEntry newentry1 = new SiteItemEntry(); newentry1.Provider = this.Name; newentry1.SetValue("letter", "true"); newentry1.SetValue("special", "1"); newentry1.Title = Translation.PlayedArtists; GenericListItem listItem1 = new GenericListItem() { Title = Translation.PlayedArtists, IsFolder = true, Tag = newentry1 }; res.Items.Add(listItem1); } { res.Title = "Artists"; SiteItemEntry newentry1 = new SiteItemEntry(); newentry1.Provider = this.Name; newentry1.SetValue("letter", "true"); newentry1.SetValue("special", "2"); newentry1.Title = Translation.ByTags; GenericListItem listItem1 = new GenericListItem() { Title = Translation.ByTags, IsFolder = true, Tag = newentry1 }; res.Items.Add(listItem1); } foreach (string letter in ArtistManager.Instance.GetArtistsLetters()) { SiteItemEntry newentry = new SiteItemEntry(); newentry.Provider = this.Name; newentry.SetValue("letter", "true"); newentry.SetValue("special", "false"); newentry.Title = letter; GenericListItem listItem = new GenericListItem() { Title = letter, IsFolder = true, Tag = newentry }; res.Items.Add(listItem); } } if (entry.GetValue("letter") == "true" && entry.GetValue("special") == "false") { res.Title = "Artists/Letter/" + entry.Title; List<ArtistItem> list = ArtistManager.Instance.GetArtists(entry.Title); if (list.Count > 500) { foreach (string letter in ArtistManager.Instance.GetArtistsLetters(entry.Title)) { SiteItemEntry newentry = new SiteItemEntry(); newentry.Provider = this.Name; newentry.SetValue("letter", "true"); newentry.SetValue("special", "false"); newentry.Title = letter; GenericListItem listItem = new GenericListItem() { Title = letter, IsFolder = true, Tag = newentry }; res.Items.Add(listItem); } } else { foreach (ArtistItem artistItem in list) { SiteItemEntry newentry = new SiteItemEntry(); newentry.Provider = this.Name; newentry.SetValue("letter", "false"); newentry.SetValue("id", artistItem.Id); newentry.SetValue("name", artistItem.Name); res.ItemType = ItemType.Artist; GenericListItem listItem = new GenericListItem() { Title = artistItem.Name, LogoUrl = string.IsNullOrEmpty(artistItem.Img_url.Trim()) ? "@" : artistItem.Img_url, IsFolder = true, DefaultImage = "defaultArtistBig.png", Tag = newentry }; res.Items.Add(listItem); } } } if (entry.GetValue("special") == "1") { res.Title = "Artists/" + Translation.PlayedArtists; foreach ( ArtistItem artistItem in ArtistManager.Instance.GetArtistsByIds(DatabaseProvider.InstanInstance.GetPlayedArtistIds(1))) { SiteItemEntry newentry = new SiteItemEntry(); newentry.Provider = this.Name; newentry.SetValue("letter", "false"); newentry.SetValue("id", artistItem.Id); newentry.SetValue("name", artistItem.Name); res.ItemType = ItemType.Artist; GenericListItem listItem = new GenericListItem() { Title = artistItem.Name, LogoUrl = string.IsNullOrEmpty(artistItem.Img_url.Trim()) ? "@" : artistItem.Img_url, IsFolder = true, DefaultImage = "defaultArtistBig.png", Tag = newentry }; res.Items.Add(listItem); } } if (entry.GetValue("special") == "2") { res.Title = "Artists/" + Translation.ByTags; foreach (string[] strings in ArtistManager.Instance.GetTags()) { SiteItemEntry newentry = new SiteItemEntry(); newentry.Provider = this.Name; newentry.SetValue("letter", "true"); newentry.SetValue("special", "3"); newentry.SetValue("tag",strings[0]); res.ItemType = ItemType.Item; GenericListItem listItem = new GenericListItem() { Title = strings[0], IsFolder = true, Title2 = strings[1], Tag = newentry }; res.Items.Add(listItem); } } if (entry.GetValue("special") == "3") { res.Title = "Artists/" + Translation.ByTags + "/" + entry.Title; foreach (ArtistItem artistItem in ArtistManager.Instance.GetArtistsByTag(entry.GetValue("tag"))) { SiteItemEntry newentry = new SiteItemEntry(); newentry.Provider = this.Name; newentry.SetValue("letter", "false"); newentry.SetValue("id", artistItem.Id); newentry.SetValue("name", artistItem.Name); res.ItemType = ItemType.Artist; GenericListItem listItem = new GenericListItem() { Title = artistItem.Name, LogoUrl = string.IsNullOrEmpty(artistItem.Img_url.Trim()) ? "@" : artistItem.Img_url, IsFolder = true, DefaultImage = "defaultArtistBig.png", Tag = newentry }; res.Items.Add(listItem); } } if (entry.GetValue("letter") == "false") { //res = ArtistManager.Instance.Grabber.GetArtistVideosIds(entry.GetValue("id")); res.ItemType = ItemType.Video; string user = ArtistManager.Instance.Grabber.GetArtistUser(entry.GetValue("id")); GenericListItemCollections resart = ArtistManager.Instance.Grabber.GetArtistVideosIds(entry.GetValue("name")); YouTubeFeed videos = null; try { if (!string.IsNullOrEmpty(user)) { YouTubeQuery query = new YouTubeQuery(string.Format("http://gdata.youtube.com/feeds/api/users/{0}/uploads", user)); query.NumberToRetrieve = 50; videos = Youtube2MP.service.Query(query); } } catch (Exception exception) { Log.Error(exception); } foreach (GenericListItem genericListItem in resart.Items) { YouTubeEntry tubeEntry = genericListItem.Tag as YouTubeEntry; YouTubeEntry searchEntry = GetVideFromFeed(Youtube2MP.GetVideoId(tubeEntry), videos); if (searchEntry != null) { searchEntry.Title.Text = tubeEntry.Title.Text; res.Items.Add(Youtube2MP.YouTubeEntry2ListItem(searchEntry)); } else { res.Items.Add(genericListItem); } } res.FolderType = 1; res.Title = "Artists/" + ArtistManager.Instance.GetArtistsById(entry.GetValue("id")).Name; } return res; }
public GenericListItemCollections GetArtistVideosIds(string artist_name) { string site = DownloadArtistInfo(artist_name); GetSimilarArtistsSite(site); string playlist_id = null; try { Regex regexObj = new Regex("data-list_id=\"(?<name>.*?)\"", RegexOptions.Singleline); playlist_id = regexObj.Match(site).Groups["name"].Value; } catch (ArgumentException ex) { // Syntax error in the regular expression } site = DownloadString(string.Format("http://www.youtube.com/playlist?list={0}", playlist_id)); GenericListItemCollections res = new GenericListItemCollections(); try { //------------------------------ //string img = Regex.Match(site, "<img class=\"artist-image\" src=\"(?<url>.*?)\" />", RegexOptions.Singleline).Groups["url"].Value; //ArtistItem artistItem = ArtistManager.Instance.GetArtistsById(artist_id); //artistItem.Img_url = img; //ArtistManager.Instance.Save(artistItem); //---------------------------- //@"<li class=""playlist-video-item.*?<a href=""/watch\?v=(?<vid_id>.*?)&.*?data-thumb=""(?<thumb>.*?)"".*?<span class=""video-time"">(?<duration>.*?)</span>" //Regex regexObj = new Regex("album-row.*?data-video-ids=\"(?<vid_id>.*?)\".*?<span class=\"clip\"><img src=\"(?<thumb>.*?)\".*?album-track-name\">(?<title>.*?)</span>", RegexOptions.Singleline); Regex regexObj = new Regex(@"playlist-video-item.*?<a href=""/watch\?v=(?<vid_id>.*?)&.*?data-thumb=""(?<thumb>.*?)"".*?<span class=""video-time"">(?<duration>.*?)</span>.*?video-title "" dir=""ltr"">(?<title>.*?)</span>", RegexOptions.Singleline); Match matchResult = regexObj.Match(site); while (matchResult.Success) { YouTubeEntry youTubeEntry=new YouTubeEntry(); youTubeEntry.AlternateUri = new AtomUri("http://www.youtube.com/watch?v=" + matchResult.Groups["vid_id"].Value); youTubeEntry.Title = new AtomTextConstruct(); youTubeEntry.Title.Text =HttpUtility.HtmlDecode(matchResult.Groups["title"].Value); youTubeEntry.Media = new MediaGroup(); youTubeEntry.Media.Description = new MediaDescription(""); youTubeEntry.Id = new AtomId(youTubeEntry.AlternateUri.Content); GenericListItem listItem = new GenericListItem() { Title = youTubeEntry.Title.Text, IsFolder = false, LogoUrl = "http:" + matchResult.Groups["thumb"].Value.Replace("default.jpg", "hqdefault.jpg"), Tag = youTubeEntry, Title2 = matchResult.Groups["duration"].Value, //ParentTag = artistItem }; res.Items.Add(listItem); //resultList.Add(matchResult.Groups["groupname"].Value); matchResult = matchResult.NextMatch(); } } catch (Exception ex) { // Syntax error in the regular expression } res.ItemType = ItemType.Video; return res; }
public GenericListItemCollections GetTopPlayed(int numPlay) { GenericListItemCollections res = new GenericListItemCollections(); try { string lsSQL = string.Format( "select * from (SELECT VIDEOS.VIDEO_ID AS VIDEO_ID, ARTIST_ID, TITLE, IMG_URL, count(PLAY_HISTORY.VIDEO_ID) as num_play FROM VIDEOS, PLAY_HISTORY WHERE VIDEOS.VIDEO_ID=PLAY_HISTORY.VIDEO_ID group by VIDEOS.VIDEO_ID, ARTIST_ID, TITLE, IMG_URL order by count(PLAY_HISTORY.VIDEO_ID) desc)where num_play>" + numPlay.ToString()); SQLiteResultSet loResultSet = m_db.Execute(lsSQL); for (int iRow = 0; iRow < loResultSet.Rows.Count; iRow++) { YouTubeEntry youTubeEntry = new YouTubeEntry(); youTubeEntry.AlternateUri = new AtomUri("http://www.youtube.com/watch?v=" + DatabaseUtility.Get(loResultSet, iRow, "VIDEO_ID")); youTubeEntry.Title = new AtomTextConstruct(); youTubeEntry.Title.Text = DatabaseUtility.Get(loResultSet, iRow, "TITLE"); youTubeEntry.Media = new MediaGroup(); youTubeEntry.Media.Description = new MediaDescription(""); youTubeEntry.Id = new AtomId(youTubeEntry.AlternateUri.Content); GenericListItem listItem = new GenericListItem() { Title = youTubeEntry.Title.Text, IsFolder = false, LogoUrl = DatabaseUtility.Get(loResultSet, iRow, "IMG_URL"), Tag = youTubeEntry, Title2 = DatabaseUtility.Get(loResultSet, iRow, "num_play"), //ParentTag = artistItem }; res.Items.Add(listItem); }; } catch (Exception exception) { Log.Error(exception); } return res; }
public GenericListItemCollections GetRecentlyPlayed() { GenericListItemCollections res = new GenericListItemCollections(); try { string lsSQL = string.Format( "SELECT VIDEOS.VIDEO_ID AS VIDEO_ID, ARTIST_ID, TITLE, IMG_URL FROM VIDEOS, PLAY_HISTORY WHERE VIDEOS.VIDEO_ID=PLAY_HISTORY.VIDEO_ID order by datePlayed DESC"); SQLiteResultSet loResultSet = m_db.Execute(lsSQL); string lastid = ""; for (int iRow = 0; iRow < loResultSet.Rows.Count; iRow++) { YouTubeEntry youTubeEntry = new YouTubeEntry(); if (lastid == DatabaseUtility.Get(loResultSet, iRow, "VIDEO_ID")) continue; lastid = DatabaseUtility.Get(loResultSet, iRow, "VIDEO_ID"); youTubeEntry.AlternateUri = new AtomUri("http://www.youtube.com/watch?v=" + DatabaseUtility.Get(loResultSet, iRow, "VIDEO_ID")); youTubeEntry.Title = new AtomTextConstruct(); youTubeEntry.Title.Text = DatabaseUtility.Get(loResultSet, iRow, "TITLE"); youTubeEntry.Media = new MediaGroup(); youTubeEntry.Media.Description = new MediaDescription(""); youTubeEntry.Id = new AtomId(youTubeEntry.AlternateUri.Content); GenericListItem listItem = new GenericListItem() { Title = youTubeEntry.Title.Text, IsFolder = false, LogoUrl = DatabaseUtility.Get(loResultSet, iRow, "IMG_URL"), Tag = youTubeEntry, //ParentTag = artistItem }; res.Items.Add(listItem); } ; } catch (Exception exception) { Log.Error(exception); } return res; }
public GenericListItemCollections HomeGetList(SiteItemEntry entry) { GenericListItemCollections res = new GenericListItemCollections(); string feedUrl = "http://gdata.youtube.com/feeds/api/users/"+entry.GetValue("id"); ProfileEntry profile = (ProfileEntry)Youtube2MP.service.Get(feedUrl); string img = ""; try { foreach (IExtensionElementFactory factory in profile.ExtensionElements) { if (factory.XmlName == "thumbnail") img = ((Google.GData.Extensions.XmlExtension)factory).Node.Attributes[0].Value; } } catch { } entry.SetValue("imgurl", img); GenericListItem listItem = new GenericListItem() { Title = entry.Title, IsFolder = true, LogoUrl = img, Tag = entry }; res.Items.Add(listItem); return res; }
private GenericListItem VevoFavorite() { SiteItemEntry itemEntry = new SiteItemEntry(); itemEntry.Provider = new FavoritesVideos().Name; itemEntry.SetValue("user", "vevo"); string title = "Vevo favorites"; GenericListItem listItem = new GenericListItem() { Title = title, IsFolder = false, DefaultImage = "defaultArtistBig.png", Tag = itemEntry }; return listItem; }
public GenericListItemCollections GetList(SiteItemEntry entry) { GenericListItemCollections res = new GenericListItemCollections(); if (entry.GetValue("letter") == "") { { res.Title = "Artists"; SiteItemEntry newentry1 = new SiteItemEntry(); newentry1.Provider = this.Name; newentry1.SetValue("letter", "true"); newentry1.SetValue("special", "1"); newentry1.Title = Translation.PlayedArtists; GenericListItem listItem1 = new GenericListItem() { Title = Translation.PlayedArtists, IsFolder = true, Tag = newentry1 }; res.Items.Add(listItem1); } { res.Title = "Artists"; SiteItemEntry newentry1 = new SiteItemEntry(); newentry1.Provider = this.Name; newentry1.SetValue("letter", "true"); newentry1.SetValue("special", "2"); newentry1.Title = Translation.ByTags; GenericListItem listItem1 = new GenericListItem() { Title = Translation.ByTags, IsFolder = true, Tag = newentry1 }; res.Items.Add(listItem1); } foreach (string letter in ArtistManager.Instance.GetArtistsLetters()) { SiteItemEntry newentry = new SiteItemEntry(); newentry.Provider = this.Name; newentry.SetValue("letter", "true"); newentry.SetValue("special", "false"); newentry.Title = letter; GenericListItem listItem = new GenericListItem() { Title = letter, IsFolder = true, Tag = newentry }; res.Items.Add(listItem); } } if (entry.GetValue("letter") == "true" && entry.GetValue("special") == "false") { res.Title = "Artists/Letter/" + entry.Title; List <ArtistItem> list = ArtistManager.Instance.GetArtists(entry.Title); if (list.Count > 500) { foreach (string letter in ArtistManager.Instance.GetArtistsLetters(entry.Title)) { SiteItemEntry newentry = new SiteItemEntry(); newentry.Provider = this.Name; newentry.SetValue("letter", "true"); newentry.SetValue("special", "false"); newentry.Title = letter; GenericListItem listItem = new GenericListItem() { Title = letter, IsFolder = true, Tag = newentry }; res.Items.Add(listItem); } } else { foreach (ArtistItem artistItem in list) { SiteItemEntry newentry = new SiteItemEntry(); newentry.Provider = this.Name; newentry.SetValue("letter", "false"); newentry.SetValue("id", artistItem.Id); newentry.SetValue("name", artistItem.Name); res.ItemType = ItemType.Artist; GenericListItem listItem = new GenericListItem() { Title = artistItem.Name, LogoUrl = string.IsNullOrEmpty(artistItem.Img_url.Trim()) ? "@" : artistItem.Img_url, IsFolder = true, DefaultImage = "defaultArtistBig.png", Tag = newentry }; res.Items.Add(listItem); } } } if (entry.GetValue("special") == "1") { res.Title = "Artists/" + Translation.PlayedArtists; foreach ( ArtistItem artistItem in ArtistManager.Instance.GetArtistsByIds(DatabaseProvider.InstanInstance.GetPlayedArtistIds(1))) { SiteItemEntry newentry = new SiteItemEntry(); newentry.Provider = this.Name; newentry.SetValue("letter", "false"); newentry.SetValue("id", artistItem.Id); newentry.SetValue("name", artistItem.Name); res.ItemType = ItemType.Artist; GenericListItem listItem = new GenericListItem() { Title = artistItem.Name, LogoUrl = string.IsNullOrEmpty(artistItem.Img_url.Trim()) ? "@" : artistItem.Img_url, IsFolder = true, DefaultImage = "defaultArtistBig.png", Tag = newentry }; res.Items.Add(listItem); } } if (entry.GetValue("special") == "2") { res.Title = "Artists/" + Translation.ByTags; foreach (string[] strings in ArtistManager.Instance.GetTags()) { SiteItemEntry newentry = new SiteItemEntry(); newentry.Provider = this.Name; newentry.SetValue("letter", "true"); newentry.SetValue("special", "3"); newentry.SetValue("tag", strings[0]); res.ItemType = ItemType.Item; GenericListItem listItem = new GenericListItem() { Title = strings[0], IsFolder = true, Title2 = strings[1], Tag = newentry }; res.Items.Add(listItem); } } if (entry.GetValue("special") == "3") { res.Title = "Artists/" + Translation.ByTags + "/" + entry.Title; foreach (ArtistItem artistItem in ArtistManager.Instance.GetArtistsByTag(entry.GetValue("tag"))) { SiteItemEntry newentry = new SiteItemEntry(); newentry.Provider = this.Name; newentry.SetValue("letter", "false"); newentry.SetValue("id", artistItem.Id); newentry.SetValue("name", artistItem.Name); res.ItemType = ItemType.Artist; GenericListItem listItem = new GenericListItem() { Title = artistItem.Name, LogoUrl = string.IsNullOrEmpty(artistItem.Img_url.Trim()) ? "@" : artistItem.Img_url, IsFolder = true, DefaultImage = "defaultArtistBig.png", Tag = newentry }; res.Items.Add(listItem); } } if (entry.GetValue("letter") == "false") { //res = ArtistManager.Instance.Grabber.GetArtistVideosIds(entry.GetValue("id")); res.ItemType = ItemType.Video; string user = ArtistManager.Instance.Grabber.GetArtistUser(entry.GetValue("id")); GenericListItemCollections resart = ArtistManager.Instance.Grabber.GetArtistVideosIds(entry.GetValue("name")); YouTubeFeed videos = null; try { if (!string.IsNullOrEmpty(user)) { YouTubeQuery query = new YouTubeQuery(string.Format("http://gdata.youtube.com/feeds/api/users/{0}/uploads", user)); query.NumberToRetrieve = 50; videos = Youtube2MP.service.Query(query); } } catch (Exception exception) { Log.Error(exception); } foreach (GenericListItem genericListItem in resart.Items) { YouTubeEntry tubeEntry = genericListItem.Tag as YouTubeEntry; YouTubeEntry searchEntry = GetVideFromFeed(Youtube2MP.GetVideoId(tubeEntry), videos); if (searchEntry != null) { searchEntry.Title.Text = tubeEntry.Title.Text; res.Items.Add(Youtube2MP.YouTubeEntry2ListItem(searchEntry)); } else { res.Items.Add(genericListItem); } } res.FolderType = 1; res.Title = "Artists/" + ArtistManager.Instance.GetArtistsById(entry.GetValue("id")).Name; } return(res); }