Fixed searchclients to handle new Google URLs correctly; added GUI
[movie-schedule] / src / searchclients / abstractsearchclient.cpp
index c19b7bc..eea2103 100644 (file)
@@ -48,20 +48,21 @@ void AbstractSearchClient::Search(const QUrl &url, int start)
     }
     QNetworkRequest request;
     QUrl xurl(url);
-    if (_start != 0) {
+    if (_start != 0 && !url.hasQueryItem("start")) {
         xurl.addQueryItem("start", QString::number(_start));
     }
     FixLocation(&xurl);
     //std::cout << "URL: " << qPrintable(QString(xurl.toEncoded())) << std::endl;
     request.setUrl(xurl);
-    //request.setRawHeader("User-Agent", "Mozilla/5.0 (X11; U; Linux i686; de; rv:1.9.1.9) Gecko/20100401 Ubuntu/9.10 (karmic) Firefox/3.5.9");
+    //request.setRawHeader("User-Agent", "Mozilla/5.0 (X11; U; Linux i686; de; rv:1.9.2.8) Gecko/20100723 Ubuntu/9.10 (karmic) Firefox/3.6.8");
     request.setRawHeader("User-Agent", "Mozilla/5.0");
     //request.setRawHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
     request.setRawHeader("Accept", "application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
     request.setRawHeader("Accept-Language", "en-gb;q=1.0,en;q=0.9,de-de;q=0.5,de;q=0.3");
+    //request.setRawHeader("Accept-Language", "en-us,en;q=0.8,de-de;q=0.5,de;q=0.3");
     //request.setRawHeader("Accept-Encoding", "gzip,deflate");
     request.setRawHeader("Accept-Charset", "ISO-8859-1,utf-8;q=0.7,*;q=0.7");
-    request.setRawHeader("Keep-Alive", "300");
+    request.setRawHeader("Keep-Alive", "115");
     request.setRawHeader("Connection", "keep-alive");
     request.setRawHeader("Cache-Control", "max-age=0");
     QNetworkReply *reply = _network->get(request);
@@ -69,6 +70,12 @@ void AbstractSearchClient::Search(const QUrl &url, int start)
     connect(reply, SIGNAL(error(QNetworkReply::NetworkError)), this, SLOT(NetworkError(QNetworkReply::NetworkError)));
 }
 
+void AbstractSearchClient::SearchEncodedUrl(const QString &encoded_url, int start)
+{
+    QUrl url = QUrl::fromEncoded((QString("http://www.google.com") + encoded_url).toAscii());
+    Search(url, start);
+}
+
 void AbstractSearchClient::DownloadProgress(qint64 a,qint64 b)
 {
     //std::cout << "Search Progress of " << qPrintable(objectName()) << " - " << a << ", " << b << std::endl;
@@ -146,6 +153,7 @@ QList<QTime> AbstractSearchClient::TimesFromString(const QList<QString> &time_st
 
 void AbstractSearchClient::FixLocation(QUrl *url)
 {
+#if 0
     // Try to fix the Google url which returns
     // wrong locations in some links
     if (_location.isNull()) {
@@ -172,6 +180,9 @@ void AbstractSearchClient::FixLocation(QUrl *url)
             url->addQueryItem("defaultloc", _location);
         }
     }
+#else
+    Q_UNUSED(url);
+#endif
 }
 
 QMutex AbstractSearchClient::_next_search_task_id_mutex;