Divelogs.de: further improve reading the server reponse

We now check for the following entries:
<Login>succeeded</Login>
<FileCopy>failed</FileCopy>

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
This commit is contained in:
Lubomir I. Ivanov 2013-12-07 17:10:58 +02:00
parent 5514499867
commit 70fce6ce6b

View file

@ -543,6 +543,7 @@ void DivelogsDeWebServices::prepareDivesForUpload()
if (filename) { if (filename) {
QFile f(filename); QFile f(filename);
if (f.exists()) { if (f.exists()) {
f.open(QIODevice::ReadOnly);
uploadDives((QIODevice *)&f); uploadDives((QIODevice *)&f);
f.close(); f.close();
f.remove(); f.remove();
@ -744,18 +745,21 @@ void DivelogsDeWebServices::uploadFinished()
// an error condition, such as a failed login // an error condition, such as a failed login
QByteArray xmlData = reply->readAll(); QByteArray xmlData = reply->readAll();
char *resp = xmlData.data(); char *resp = xmlData.data();
// qDebug() << resp;
if (resp) { if (resp) {
char *parsed = strstr(resp, "<Login>"); char *parsed = strstr(resp, "<Login>");
// char *endat = strstr(resp, "</divelogsDataImport>");
if (parsed) { if (parsed) {
if (strstr(resp, "failed")) if (strstr(resp, "<Login>succeeded</Login>")) {
ui.status->setText(tr("Login failed")); if (strstr(resp, "<FileCopy>failed</FileCopy>")) {
else ui.status->setText(tr("Upload failed"));
return;
}
ui.status->setText(tr("Upload successful")); ui.status->setText(tr("Upload successful"));
} else { return;
ui.status->setText(tr("Cannot parse response")); }
ui.status->setText(tr("Login failed"));
return;
} }
ui.status->setText(tr("Cannot parse response"));
} }
} }