From: jasu Date: Tue, 11 May 2010 06:21:37 +0000 (+0300) Subject: Mark datetimes as UTC, refactor parsing, delete reply properly X-Git-Tag: v0.0.4~20 X-Git-Url: https://vcs.maemo.org/git/?p=evehomescreen;a=commitdiff_plain;h=383403c7e53aab4bbbc333bac2222916166f72b8 Mark datetimes as UTC, refactor parsing, delete reply properly --- diff --git a/src/eveskilltraining.cpp b/src/eveskilltraining.cpp index 29f936c..c672b6a 100644 --- a/src/eveskilltraining.cpp +++ b/src/eveskilltraining.cpp @@ -25,6 +25,15 @@ EveSkillTraining::EveSkillTraining(QObject *parent) : bool EveSkillTraining::fromXml(QXmlStreamReader &xml) { + xml.readNextStartElement(); + if (xml.name() != "eveapi") + return false; + xml.readNextStartElement(); + if (xml.name() != "currentTime") + return false; + + xml.readNextStartElement(); // end currentTime element + xml.readNextStartElement(); // start result element if (xml.name() != "result") { qDebug() << "Wrong element:" << xml.name(); return false; @@ -37,11 +46,13 @@ bool EveSkillTraining::fromXml(QXmlStreamReader &xml) if (xml.name() == "trainingEndTime") { qDebug() << "Parse end time"; endTime = QDateTime::fromString(xml.readElementText(),"yyyy-MM-dd hh:mm:ss");//2008-08-17 06:43:00 + startTime.setTimeSpec(Qt::UTC); qDebug()<< endTime; } else if (xml.name() == "trainingStartTime") { qDebug() << "Parse start time"; startTime = QDateTime::fromString(xml.readElementText(),"yyyy-MM-dd hh:mm:ss");//2008-08-17 06:43:00 + startTime.setTimeSpec(Qt::UTC); qDebug() << startTime; } else if (xml.name() == "trainingTypeID") { @@ -59,11 +70,20 @@ bool EveSkillTraining::fromXml(QXmlStreamReader &xml) training = xml.readElementText().toInt() == 1; qDebug() << "Training?" << training; + } else if (xml.name() == "currentTQTime" ) { + currentTime = QDateTime::fromString(xml.readElementText(),"yyyy-MM-dd hh:mm:ss"); + startTime.setTimeSpec(Qt::UTC); + qDebug() << "Current: " << currentTime; } else // Noop xml.skipCurrentElement(); } // while + bool cached = xml.readNextStartElement(); // cachedUntil + if (cached) { + QDateTime cachedTime = QDateTime::fromString(xml.readElementText(),"yyyy-MM-dd hh:mm:ss"); + cachedTime.setTimeSpec(Qt::UTC); + } qDebug() << "Parsing finished"; return true; } @@ -91,15 +111,7 @@ void EveSkillTraining::infoReady() qDebug() << "Reply ready"; qDebug() << reply; QXmlStreamReader reader(reply); - - reader.readNextStartElement(); - if (reader.name() != "eveapi") - return; - reader.readNextStartElement(); - if (reader.name() != "currentTime") - return; - reader.readNextStartElement(); // end currentTime element - reader.readNextStartElement(); // start result element fromXml(reader); + m_reply->deleteLater(); emit finished(); }