Switch to QtNetwork
[maelyrica:maelyrica.git] / TekstowoDownloader.cpp
1 #include "TekstowoDownloader.h"
2 #include <QTextDocument>
3
4 QString TekstowoDownloader::toProviderCode(const QString &artist, const QString &track) const
5 {
6     const QString rooturl("http://tekstowo.pl/piosenka,%1,%2.html");
7     const QString artist_www( artist.trimmed().toLower().replace(' ', '_').replace('(', '_').replace(')', '_') );
8     const QString track_www( track.trimmed().toLower().replace(' ', '_').replace('(', '_').replace(')', '_') );
9
10     return rooturl.arg(artist_www, track_www);
11 }
12
13 bool TekstowoDownloader::parse()
14 {
15     const QString startMarker("<h2>Tekst piosenki:</h2><br />"), endMarker("<p>&nbsp;</p>");
16     int startpos = lyrics_qstr.indexOf(startMarker) + startMarker.length();
17     if (startpos < 0) return false;
18
19     lyrics_qstr = QTextDocument(lyrics_qstr.remove(0, startpos ).mid(0, lyrics_qstr.indexOf(endMarker)-3).trimmed()).toPlainText();
20
21     return true;
22
23     /*istringstream temp(buff.str());
24     buff.str();
25     string line;
26     QString line_QStr, lyrics_QStr;
27     const QString startmarker("<h2>Tekst piosenki:</h2><br />"), endmarker("<p>&nbsp;</p>"); // TODO text
28     while (temp.good())
29     {
30         getline(temp, line);
31         if (line_QStr = QString::fromUtf8(line.c_str()), line_QStr.contains(startmarker)  )
32         {
33             getline(temp, line);
34             if ( ! ( line_QStr = QString::fromUtf8(line.c_str())).isEmpty()  )
35                 lyrics_QStr += line_QStr;
36         }
37     }
38
39     if (!temp.good()) return false;
40
41     while (temp.good())
42     {
43         getline(temp, line);
44         if ( line_QStr = QString::fromUtf8(line.c_str()), line_QStr.contains(endmarker)) break;
45         else lyrics_QStr += line_QStr;
46     }
47
48     if (!temp.good()) return false;
49
50     QTextDocument lyricsHtml;
51     lyricsHtml.setHtml(lyrics_QStr);
52     lyrics_qstr = lyricsHtml.toPlainText();
53     return true;*/
54 }