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

List:       kde-commits
Subject:    [kdeplasma-addons/plasma/sreich/bing-runner] runners/bing: bing engine works
From:       Shaun Reich <shaun.reich () kdemail ! net>
Date:       2012-02-26 22:19:22
Message-ID: 20120226221922.132ABA60B9 () git ! kde ! org
[Download RAW message or body]

Git commit d41e2ddd5dcd0be3725b8551339aaaf1207f5b91 by Shaun Reich.
Committed on 26/02/2012 at 23:19.
Pushed by sreich into branch 'plasma/sreich/bing-runner'.

bing engine works

M  +15   -22   runners/bing/bing.cpp

http://commits.kde.org/kdeplasma-addons/d41e2ddd5dcd0be3725b8551339aaaf1207f5b91

diff --git a/runners/bing/bing.cpp b/runners/bing/bing.cpp
index 72fe369..aca4520 100644
--- a/runners/bing/bing.cpp
+++ b/runners/bing/bing.cpp
@@ -39,11 +39,11 @@ Bing::Bing(QObject *parent, const QVariantList& args)
     setObjectName(QLatin1String("Bing"));
     setIgnoredTypes(Plasma::RunnerContext::FileSystem | \
Plasma::RunnerContext::Directory | Plasma::RunnerContext::NetworkLocation);  
-    Plasma::RunnerSyntax s(QLatin1String( ":q:" ), i18n("Finds Bing search matching \
                :q:."));
-    s.addExampleQuery(QLatin1String("bing :q:"));
+    Plasma::RunnerSyntax s(QLatin1String( ":q:" ), i18n("Finds Bing images search \
matching :q:.")); +    s.addExampleQuery(QLatin1String("image :q:"));
     addSyntax(s);
 
-    addSyntax(Plasma::RunnerSyntax(QLatin1String( "bing" ), i18n("Lists the search \
entries matching the query, using Bing search"))); +    \
addSyntax(Plasma::RunnerSyntax(QLatin1String( "image" ), i18n("Lists the search \
entries matching the query, using Bing search")));  setSpeed(SlowSpeed);
     setPriority(LowPriority);
 }
@@ -88,29 +88,22 @@ void Bing::parseJson(const QByteArray& data, \
Plasma::RunnerContext &context)  const QVariantMap resultsMap = \
parser.parse(data).toMap();  
     QVariantMap related = resultsMap.value("SearchResponse").toMap();
-    kDebug() << "RELATED:" << related;
-        kDebug() << related.value("Results").typeName();
 
-    QVariantList subList = related.value("Results").toList();
+    QVariantMap subMap = related.value("Image").toMap();
 
-    const QString term = context.query();
-
-    foreach (const QVariant& variant, subList) {
-        QVariantMap subMap = variant.toMap();
+    QVariantList resultsList = subMap.value("Results").toList();
 
-        QVariantList linkList = subMap.value("link").toList();
-        //FIXME: hardcoded..
-        const QString& url = linkList.at(0).toMap().value("href").toString();
+    foreach (const QVariant& variant, resultsList) {
 
-        QVariantMap titleMap = subMap.value("title").toMap();
-        const QString& title = titleMap.value("$t").toString();
+        QVariantMap subMap = variant.toMap();
+        kDebug() << subMap.keys();
 
-        QVariantMap subSubMap = subMap.value("media$group").toMap();
+        const QString& url = subMap.value("Url").toString();
+        const QString& title = subMap.value("Title").toString();
 
-        QVariantList thumbnailList = subSubMap.value("media$thumbnail").toList();
+        QVariantMap thumbnailMap = subMap.value("Thumbnail").toMap();
 
-        QString thumbnail;
-        thumbnail = thumbnailList.at(2).toMap().value("url").toString();
+        const QString& thumbnail = thumbnailMap.value("Url").toString();
 
         QEventLoop loop;
         m_thumbnailDownloader = new QNetworkAccessManager();
@@ -125,7 +118,7 @@ void Bing::parseJson(const QByteArray& data, \
Plasma::RunnerContext &context)  match.setType(Plasma::QueryMatch::PossibleMatch);
 
         if (reply->error() != 0) {
-            kDebug() << "KRunner::YouTube runner, Json parser error. please report. \
error code: " << reply->error(); +            kDebug() << "KRunner::Bing runner, Json \
parser error. please report. error code: " << reply->error();  }
 
         QByteArray data = reply->readAll();
@@ -137,9 +130,9 @@ void Bing::parseJson(const QByteArray& data, \
Plasma::RunnerContext &context)  match.setIcon(icon);
 
         match.setData(url);
-        match.setText(QString(title + " on YouTube"));
+        match.setText(QString(title + " on Bing"));
 
-        context.addMatch(term, match);
+        context.addMatch(context.query(), match);
     }
 }
 


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

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