[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