[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [kdeplasma-addons/plasma/sreich/youtube-runner] runners/youtube: try and find the right thumbnail fo
From:       Shaun Reich <shaun.reich () kdemail ! net>
Date:       2012-02-26 18:43:06
Message-ID: 20120226184306.E1CADA60BE () git ! kde ! org
[Download RAW message or body]

Git commit 20cd33d7b24a6a8d8ae84748ed530f1c11108f1a by Shaun Reich.
Committed on 26/02/2012 at 19:42.
Pushed by sreich into branch 'plasma/sreich/youtube-runner'.

try and find the right thumbnail for the size we're shooting for

M  +13   -13   runners/youtube/youtube.cpp

http://commits.kde.org/kdeplasma-addons/20cd33d7b24a6a8d8ae84748ed530f1c11108f1a

diff --git a/runners/youtube/youtube.cpp b/runners/youtube/youtube.cpp
index 61434ef..f50a69e 100644
--- a/runners/youtube/youtube.cpp
+++ b/runners/youtube/youtube.cpp
@@ -114,10 +114,16 @@ void YouTube::parseJson(const QByteArray& data, \
Plasma::RunnerContext &context)  
         QVariantList thumbnailList = subSubMap.value("media$thumbnail").toList();
 
-        //FIXME: horrible horrible assumption
-        const QString& thumbnail = \
                thumbnailList.at(0).toMap().value("url").toString();
-//        const QString& thumbnail = \
                "http://upload.wikimedia.org/wikipedia/commons/b/b2/WhiteCat.jpg";
-        kDebug() << "THUMBNAIL URL: " << thumbnail;
+        QString thumbnail;
+        foreach (const QVariant& variant, thumbnailList) {
+            kDebug() << variant.toMap().keys();
+            QVariantMap variantMap = variant.toMap();
+            const int height = variantMap.value("height").toInt();
+
+            if (height <= 100) {
+                thumbnail = variantMap.value("url").toString();
+            }
+        }
 
         QEventLoop loop;
         m_thumbnailDownloader = new QNetworkAccessManager();
@@ -131,19 +137,13 @@ void YouTube::parseJson(const QByteArray& data, \
Plasma::RunnerContext &context)  Plasma::QueryMatch match(this);
         match.setType(Plasma::QueryMatch::PossibleMatch);
 
-        kDebug() << "ERROR!!" << reply->error();
+        if (reply->error() != 0) {
+            kDebug() << "KRunner YouTube, this is a Json parser failure. please \
report this bug, error num:" << reply->error(); +        }
 
         QByteArray data = reply->readAll();
-        kDebug() << "DATAAAA:" << data;
-
-        QFile file("SREICHTESTFIL");
-        file.open(QIODevice::ReadWrite | QIODevice::Text);
-        file.write(data);
-        file.close();
 
         QImage image;
-//        Q_ASSERT(image.load("SREICHTESTFIL"));
-        Q_ASSERT(image.loadFromData(data));
 
         QIcon icon(new ImageIconEngine(image));
         match.setIcon(icon);


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic