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