More output on errors.
[toast/confclerk.git] / src / sql / schedulexmlparser.cpp
index 23151a058607941b6d96a86afe64b81a7650d8bb..5289c203bd7ecd86a1b28838f2cc7e339cdd579f 100644 (file)
@@ -1,5 +1,6 @@
 /*
  * Copyright (C) 2010 Ixonos Plc.
+ * Copyright (C) 2011-2012 Philipp Spitzer, gregor herrmann
  *
  * This file is part of ConfClerk.
  *
@@ -35,8 +36,10 @@ void ScheduleXmlParser::parseData(const QByteArray &aData, const QString& url)
 {
     QDomDocument document;
     QString xml_error;
-    if (!document.setContent (aData, false, &xml_error)) {
-        error_message("Could not parse schedule: " + xml_error);
+    int xml_error_line;
+    int xml_error_column;
+    if (!document.setContent (aData, false, &xml_error, &xml_error_line, &xml_error_column)) {
+        error_message("Could not parse schedule: " + xml_error + " at line " + QString("%1").arg(xml_error_line) + " column " + QString("%1").arg(xml_error_column));
         return;
     }
 
@@ -51,6 +54,7 @@ void ScheduleXmlParser::parseData(const QByteArray &aData, const QString& url)
         QDomElement conferenceElement = scheduleElement.firstChildElement("conference");
         if (!conferenceElement.isNull())
         {
+            emit(parsingScheduleBegin());
             QHash<QString,QString> conference;
             conference["id"] = QString::number(0); // conference ID is assigned automatically, or obtained from the DB
             conference["title"] = conferenceElement.firstChildElement("title").text();
@@ -66,7 +70,6 @@ void ScheduleXmlParser::parseData(const QByteArray &aData, const QString& url)
             SqlEngine::addConferenceToDB(conference);
             confId = conference["id"].toInt();
             conference_title = conference["title"];
-            emit(parsingScheduleBegin());
         }
 
         // we need to get count of all events in order to emit 'progressStatus' signal
@@ -102,7 +105,6 @@ void ScheduleXmlParser::parseData(const QByteArray &aData, const QString& url)
                         room["name"] = roomElement.attribute("name");
                         room["event_id"] = eventElement.attribute("id");
                         room["conference_id"] = QString::number(confId,10);
-                        room["picture"] = ""; // TODO: implement some mapping to assign correct picture to specified room_name
                         SqlEngine::addRoomToDB(room);
 
                         // process event's nodes