コード例 #1
0
// 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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }