summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomasz Sterna <tomek@xiaoka.com>2015-04-19 18:28:51 +0200
committerTomasz Sterna <tomek@xiaoka.com>2015-04-19 18:29:34 +0200
commitec074ada19ed8855a8006ca66c709a8303906932 (patch)
tree93fdc287a2083cc6284fad2ecddc2573369afce2
parent8e6f27b0b16c3b9f54dc7423d9a3f0b880304038 (diff)
Fixed firmware fetching
-rw-r--r--app/pebblefirmware.cpp11
-rw-r--r--app/pebblefirmware.h2
2 files changed, 7 insertions, 6 deletions
diff --git a/app/pebblefirmware.cpp b/app/pebblefirmware.cpp
index 95294f7..f42c29b 100644
--- a/app/pebblefirmware.cpp
+++ b/app/pebblefirmware.cpp
@@ -26,6 +26,7 @@ void PebbleFirmware::fetchFirmware(QString type)
QNetworkRequest req;
req.setUrl(_latest.value(type).toObject().value("url").toString());
req.setRawHeader("Cache-Control", "no-cache");
+ qDebug() << "Fetching firmware" << req.url();
nm->get(req);
}
@@ -35,15 +36,15 @@ void PebbleFirmware::onNetworkReplyFinished(QNetworkReply* rep)
if (rep->request().url().toString().endsWith("/latest.json")) {
QJsonDocument jsonResponse = QJsonDocument::fromJson(rep->readAll());
- QJsonObject jsonObject = jsonResponse.object();
- if (!jsonObject.isEmpty()) {
- qDebug() << "Latest firmware" << jsonObject;
- _latest = jsonObject.value("normal").toObject();
+ _latest = jsonResponse.object();
+ if (!_latest.isEmpty()) {
+ qDebug() << "Latest firmware" << _latest;
emit latestChanged();
}
} else if (rep->url().toString().endsWith(".pbz")) {
QDir downDir(QStandardPaths::writableLocation(QStandardPaths::DownloadLocation));
- QFileInfo name(rep->url().toLocalFile());
+ QFileInfo name(rep->url().toString(QUrl::FullyDecoded|QUrl::NormalizePathSegments|
+ QUrl::RemoveQuery|QUrl::RemoveFragment));
QFile file(downDir.absoluteFilePath(name.fileName()));
file.open(QIODevice::WriteOnly|QIODevice::Truncate);
if (file.write(rep->readAll()) == -1) {
diff --git a/app/pebblefirmware.h b/app/pebblefirmware.h
index 3890048..5e6bd65 100644
--- a/app/pebblefirmware.h
+++ b/app/pebblefirmware.h
@@ -11,7 +11,7 @@ class PebbleFirmware : public QObject
Q_OBJECT
Q_PROPERTY(QJsonObject latest READ latest NOTIFY latestChanged)
- QJsonObject latest() { return _latest; }
+ QJsonObject latest() { return _latest.value("normal").toObject(); }
public:
explicit PebbleFirmware(QObject *parent = 0);