diff options
| author | Tomasz Sterna <tomek@xiaoka.com> | 2015-04-19 18:28:51 +0200 |
|---|---|---|
| committer | Tomasz Sterna <tomek@xiaoka.com> | 2015-04-19 18:29:34 +0200 |
| commit | ec074ada19ed8855a8006ca66c709a8303906932 (patch) | |
| tree | 93fdc287a2083cc6284fad2ecddc2573369afce2 | |
| parent | 8e6f27b0b16c3b9f54dc7423d9a3f0b880304038 (diff) | |
Fixed firmware fetching
| -rw-r--r-- | app/pebblefirmware.cpp | 11 | ||||
| -rw-r--r-- | app/pebblefirmware.h | 2 |
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); |
