X-Git-Url: https://git.toastfreeware.priv.at/toast/confclerk.git/blobdiff_plain/e662750178972435a940730b0a228c1548e20d63..72cd3afa29877fedd246d51c408dc94192d6f729:/src/sql/schedulexmlparser.cpp diff --git a/src/sql/schedulexmlparser.cpp b/src/sql/schedulexmlparser.cpp index 1c5ebec..6b7308f 100644 --- a/src/sql/schedulexmlparser.cpp +++ b/src/sql/schedulexmlparser.cpp @@ -80,54 +80,49 @@ void ScheduleXmlParser::parseData(const QByteArray &aData, SqlEngine *aDBEngine) aDBEngine->addRoomToDB(room); // process event's nodes - QHash event; - event["id"] = eventElement.attribute("id"); - event["conference_id"] = QString::number(conferenceID,10); + QHash event; + event["id"] = eventElement.attribute("id");; + event["conference_id"] = QString::number(conferenceID, 10); event["start"] = eventElement.firstChildElement("start").text(); // time eg. 10:00 - event["date"] = dayElement.attribute("date"); // date eg. 2009-02-07 - event["duration"] = eventElement.firstChildElement("duration").text(); // time eg. 00:30 - event["room_name"] = eventElement.firstChildElement("room").text(); // string eg. "Janson" - event["tag"] = eventElement.firstChildElement("tag").text(); // string eg. "welcome" - event["title"] = eventElement.firstChildElement("title").text(); // string eg. "Welcome" - event["subtitle"] = eventElement.firstChildElement("subtitle").text(); // string + event["date"] = dayElement.attribute("date"); // date eg. 2009-02-07 + event["duration"] = eventElement.firstChildElement("duration").text(); // time eg. 00:30 + event["room_name"] = eventElement.firstChildElement("room").text(); // string eg. "Janson" + event["tag"] = eventElement.firstChildElement("tag").text(); // string eg. "welcome" + event["title"] = eventElement.firstChildElement("title").text(); // string eg. "Welcome" + event["subtitle"] = eventElement.firstChildElement("subtitle").text(); // string event["track"] = eventElement.firstChildElement("track").text(); // string eg. "Keynotes" - event["type"] = eventElement.firstChildElement("type").text(); // string eg. "Podium" - event["language"] = eventElement.firstChildElement("language").text(); // language eg. "English" - event["abstract"] = eventElement.firstChildElement("abstract").text(); // string - event["description"] = eventElement.firstChildElement("description").text(); // string - aDBEngine->addEventToDB(event); - - // process persons' nodes - QList persons; - QDomElement personsElement = eventElement.firstChildElement("persons"); - QDomNodeList personList = personsElement.elementsByTagName("person"); - for (int i=0; i person; - person["id"] = personList.at(i).toElement().attribute("id"); - person["name"] = personList.at(i).toElement().text(); - person["event_id"] = eventElement.attribute("id"); - person["conference_id"] = QString::number(conferenceID,10); - //qDebug() << "adding Person: " << person["name"]; - aDBEngine->addPersonToDB(person); - } - - // process links' nodes - QDomElement linksElement = eventElement.firstChildElement("links"); - QDomNodeList linkList = linksElement.elementsByTagName("link"); - for (int i=0; i link; - link["name"] = linkList.at(i).toElement().text(); - link["url"] = linkList.at(i).toElement().attribute("href"); - link["event_id"] = eventElement.attribute("id"); - link["conference_id"] = QString::number(conferenceID,10); - aDBEngine->addLinkToDB(link); - } - - // emit signal to inform the user about the current status (how many events are parsed so far - expressed in %) - int status=currentEvent*100/totalEventsCount; - emit progressStatus(status); + event["type"] = eventElement.firstChildElement("type").text(); // string eg. "Podium" + event["language"] = eventElement.firstChildElement("language").text(); // language eg. "English" + event["abstract"] = eventElement.firstChildElement("abstract").text(); // string + event["description"] = eventElement.firstChildElement("description").text(); // string + aDBEngine->addEventToDB(event); + // process persons' nodes + QList persons; + QDomElement personsElement = eventElement.firstChildElement("persons"); + QDomNodeList personList = personsElement.elementsByTagName("person"); + for(int i = 0;i < personList.count();i++){ + QHash person; + person["id"] = personList.at(i).toElement().attribute("id"); + person["name"] = personList.at(i).toElement().text(); + person["event_id"] = eventElement.attribute("id"); + person["conference_id"] = QString::number(conferenceID, 10); + //qDebug() << "adding Person: " << person["name"]; + aDBEngine->addPersonToDB(person); + } + // process links' nodes + QDomElement linksElement = eventElement.firstChildElement("links"); + QDomNodeList linkList = linksElement.elementsByTagName("link"); + for(int i = 0;i < linkList.count();i++){ + QHash link; + link["name"] = linkList.at(i).toElement().text(); + link["url"] = linkList.at(i).toElement().attribute("href"); + link["event_id"] = eventElement.attribute("id"); + link["conference_id"] = QString::number(conferenceID, 10); + aDBEngine->addLinkToDB(link); + } + // emit signal to inform the user about the current status (how many events are parsed so far - expressed in %) + int status = currentEvent * 100 / totalEventsCount; + progressStatus(status); } // parsing event elements } } // parsing room elements