Changeset 8d47489 for src/sql/schedulexmlparser.cpp
- Timestamp:
- 07/21/21 22:41:46 (19 months ago)
- Branches:
- master
- Children:
- 29af341
- Parents:
- 0b4a1d0
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/sql/schedulexmlparser.cpp
r0b4a1d0 r8d47489 67 67 QDomElement conferenceElement = scheduleElement.firstChildElement("conference"); 68 68 QTime conference_day_change; 69 QHash<QString,QString> conference; 69 70 if (!conferenceElement.isNull()) 70 71 { 71 72 emit(parsingScheduleBegin()); 72 QHash<QString,QString> conference;73 73 conference["id"] = QString::number(conferenceId); // conference ID is assigned automatically if 0 74 74 conference["title"] = conferenceElement.firstChildElement("title").text(); … … 82 82 conference["day_change"] = conferenceDayChangeStr; 83 83 conference["timeslot_duration"] = conferenceElement.firstChildElement("timeslot_duration").text(); // time 84 conference["utc_offset"] = QString(); 85 conference["display_time_shift"] = QString(); 84 86 conference["url"] = url; 85 87 sqlEngine->addConferenceToDB(conference, conferenceId); … … 134 136 if (!eventDateElement.isNull()) { 135 137 QString date_str = eventDateElement.text(); // date eg. 2009-02-07T10:00:00+00:00 136 event_date = QDate::fromString(date_str.left(sqlEngine->DATE_FORMAT.size()), sqlEngine->DATE_FORMAT); 138 QDateTime event_date_time = QDateTime::fromString(date_str, Qt::ISODate); 139 if (conference.value("utc_offset").isEmpty()) { 140 QDateTime utc_event_date_time = event_date_time; 141 utc_event_date_time.setTimeSpec(Qt::UTC); 142 int conference_utc_offset = event_date_time.secsTo(utc_event_date_time); 143 conference["utc_offset"] = QString::number(conference_utc_offset); 144 } 145 event_date = event_date_time.date(); 137 146 } else { 138 event_date = QDate::fromString(dayElement.attribute("date"), sqlEngine->DATE_FORMAT); // date eg. 2009-02-07147 event_date = QDate::fromString(dayElement.attribute("date"), Qt::ISODate); // date eg. 2009-02-07 139 148 if (event_start < conference_day_change) event_date = event_date.addDays(1); 140 149 } … … 181 190 } // parsing room elements 182 191 } // parsing day elements 192 193 // Re-write conference as utc_offset was not known previously 194 if (!conference.value("utc_offset").isEmpty()) { 195 sqlEngine->addConferenceToDB(conference, conferenceId); 196 } 197 183 198 } // schedule element 184 199 if (conference_title.isNull()) throw ParseException("Could not parse schedule");
Note: See TracChangeset
for help on using the changeset viewer.