// settings related functions private SMChartsSettings GetSettings() { SMChartsSettings s = new SMChartsSettings(); s.CountryIndex = 1; s.RecYear = true; s.Rating = true; s.AlbumChartsPeak = 2; s.AlbumChartsPeakWeeks = 0; s.AlbumChartsPoints = 0; s.AlbumChartsWeeks = 0; s.TrackChartsPeak = 1; s.TrackChartsPeakWeeks = 0; s.TrackChartsPoints = 7; s.TrackChartsWeeks = 5; return(s); }
private async Task <List <SMChartsAlbum> > GetAlbums(string url, SMChartsSettings s) { int id = 0; List <SMChartsAlbum> results = new List <SMChartsAlbum>(); string web = await LoadWebpage(url); Regex AlbumRegex = new Regex(GetAlbumRegex(s.CountryIndex), RegexOptions.Compiled); MatchCollection matches = AlbumRegex.Matches(web); foreach (Match match in matches) { SMChartsAlbum album = new SMChartsAlbum(); album.Artist = match.Groups["artist"].Value; album.Title = match.Groups["album"].Value; album.Url = match.Groups["url"].Value; album.Releases = await GetReleases(album.Title, album.Artist, album.Url, ++id, s); results.Add(album); } return(results); }
private async Task <List <PluginTrackSearchResult> > GetReleases(string album, string artist, string url, int id, SMChartsSettings s) { int id2 = 0; List <PluginTrackSearchResult> results = new List <PluginTrackSearchResult>(); string web = await LoadWebpage(string.Format("{0}{1}", GetMainUrl(s.CountryIndex), url)); web = PrepareWebpage(web); Regex AlbumRegex = new Regex(GetReleaseRegex(s.CountryIndex), RegexOptions.Compiled); MatchCollection matches = AlbumRegex.Matches(web); foreach (Match match in matches) { id2++; PluginTrackSearchResult result = new PluginTrackSearchResult(); result.CatalogNumber = GetCatalogNumber(match.Groups["details"].Value); result.Format = GetFormat(match.Groups["details"].Value); result.Id = string.Format("{0}-{1}", id.ToString(), id2.ToString()); result.Label = GetLabel(match.Groups["details"].Value); result.Title = string.Format("{0} - {1}", artist, album); result.Year = GetYear(match.Groups["details"].Value); } return(results); }