Exemplo n.º 1
0
        public LyricsSearchResults ProcessSearchResults(ThreePM.MusicPlayer.SongInfo song, string htmlPage, out string nextURL)
        {
            nextURL = "";

            int start = htmlPage.IndexOf(" artists found:");

            if (start != -1)
            {
                // found more than one.
                start = htmlPage.IndexOf("title=\"" + song.Artist + " lyrics\"");
                if (start != -1)
                {
                    start = htmlPage.LastIndexOf("/lyrics", start);
                    int    end = htmlPage.IndexOf("\" title", start);
                    string url = "http://www.lyricsmania.com" + htmlPage.Substring(start, end - start);
                    nextURL = url;
                    return(LyricsSearchResults.SearchAgain);
                }
            }
            else
            {
                string regex = LyricsHelper.GetSongTitleRegex(song);

                regex = "(?<=title=\\\")" + regex;

                start = System.Text.RegularExpressions.Regex.Match(htmlPage, regex, RegexOptions.IgnoreCase).Index;

                // if the regex didnt work, try old fashioned
                if (start <= 0)
                {
                    System.Diagnostics.Debug.WriteLine("Old fashioned!!");
                    start = htmlPage.IndexOf("title=\"" + song.Title + " lyrics\"");
                }

                if (start != -1)
                {
                    start = htmlPage.LastIndexOf("/lyrics", start);
                    int end = htmlPage.IndexOf("\" title", start);
                    if (end != -1)
                    {
                        string url = htmlPage.Substring(start, end - start);
                        nextURL = "http://www.lyricsmania.com" + url;
                        return(LyricsSearchResults.Found);
                    }
                }
            }

            return(LyricsSearchResults.NotFound);
        }
Exemplo n.º 2
0
        public LyricsSearchResults ProcessSearchResults(ThreePM.MusicPlayer.SongInfo song, string htmlPage, out string nextURL)
        {
            // Songs:</b><br>.*<a href\=\"(?<url>.*?)\">Rhinestone Cowboy Lyrics</a>
            nextURL = "";

            string regex = LyricsHelper.GetSongTitleRegex(song);

            regex = "Songs:</b><br>.*<a href=\\\"(?<url>.*?)\\\">" + regex + " Lyrics</a>";

            Match m = Regex.Match(htmlPage, regex, RegexOptions.Singleline | RegexOptions.Multiline | RegexOptions.IgnoreCase);

            if (m.Groups["url"].Success)
            {
                string url = m.Groups["url"].Value;

                url = "http://www.lyricsdepot.com" + url;

                nextURL = url;
                return(LyricsSearchResults.Found);
            }
            return(LyricsSearchResults.NotFound);
        }