]> git.sur5r.net Git - minitube/commitdiff
Channels!
authorFlavio <flavio@odisseo.local>
Wed, 26 Jan 2011 00:09:51 +0000 (01:09 +0100)
committerFlavio <flavio@odisseo.local>
Wed, 26 Jan 2011 00:09:51 +0000 (01:09 +0100)
src/searchparams.h
src/youtubesearch.cpp

index e8525c996f0abd10cf1e0525cc8bbbeaa8f9d887..7f1a44c8bd9243f650b3bc6e169b5aa06ba1cfc3 100644 (file)
@@ -13,6 +13,9 @@ public:
     const QString keywords() const { return m_keywords; }
     void setKeywords( QString keywords ) { m_keywords = keywords; }
 
+    const QString author() const { return m_author; }
+    void setAuthor( QString author ) { m_author = author; }
+
     int sortBy() const { return m_sortBy; }
     void setSortBy( int sortBy ) { m_sortBy = sortBy; }
 
@@ -24,6 +27,7 @@ public:
 
 private:
     QString m_keywords;
+    QString m_author;
     int m_sortBy;
 
 };
index 6bb66cb33a36eafa147a743e20a83256f95a94c1..a57b7c21585f1ccef7c67e5a5d8ee04c183b7f30 100644 (file)
@@ -12,27 +12,23 @@ YouTubeSearch::YouTubeSearch() : QObject() {}
 void YouTubeSearch::search(SearchParams *searchParams, int max, int skip) {
     this->abortFlag = false;
 
-    QString urlString = QString(
-            "http://gdata.youtube.com/feeds/api/videos?q=%1&max-results=%2&start-index=%3")
-            .arg(searchParams->keywords(), QString::number(max), QString::number(skip));
-
-    // Useful to test with a local webserver
-    /*
-    urlString = QString("http://localhost/~flavio/text.xml?q=%1&max-results=%2&start-index=%3")
-                .arg(searchParams->keywords(), QString::number(max), QString::number(skip));
-    */
+    QUrl url("http://gdata.youtube.com/feeds/api/videos");
+    url.addQueryItem("max-results", QString::number(max));
+    url.addQueryItem("start-index", QString::number(skip));
+    if (!searchParams->keywords().isEmpty())
+    url.addQueryItem("q", searchParams->keywords());
+    if (!searchParams->author().isEmpty())
+    url.addQueryItem("author", searchParams->author());
 
     switch (searchParams->sortBy()) {
     case SearchParams::SortByNewest:
-        urlString.append("&orderby=published");
+        url.addQueryItem("orderby", "published");
         break;
     case SearchParams::SortByViewCount:
-        urlString.append("&orderby=viewCount");
+        url.addQueryItem("orderby", "viewCount");
         break;
     }
 
-    QUrl url(urlString);
-
     QObject *reply = The::http()->get(url);
     connect(reply, SIGNAL(data(QByteArray)), SLOT(parseResults(QByteArray)));
     connect(reply, SIGNAL(error(QNetworkReply*)), SLOT(error(QNetworkReply*)));