void OracleImporter::readSetsFromXml(QXmlStreamReader &xml) { allSets.clear(); QString edition; QString editionLong; QString editionURL; while (!xml.atEnd()) { if (xml.readNext() == QXmlStreamReader::EndElement) break; if (xml.name() == "set") { QString shortName, longName; bool import = xml.attributes().value("import").toString().toInt(); while (!xml.atEnd()) { if (xml.readNext() == QXmlStreamReader::EndElement) break; if (xml.name() == "name") edition = xml.readElementText(); else if (xml.name() == "longname") editionLong = xml.readElementText(); else if (xml.name() == "url") editionURL = xml.readElementText(); } allSets << SetToDownload(edition, editionLong, editionURL, import); edition = editionLong = editionURL = QString(); } else if (xml.name() == "picture_url") pictureUrl = xml.readElementText(); else if (xml.name() == "picture_url_hq") pictureUrlHq = xml.readElementText(); else if (xml.name() == "picture_url_stripped") pictureUrlStripped = xml.readElementText(); else if (xml.name() == "set_url") setUrl = xml.readElementText(); } }
bool OracleImporter::readSetsFromByteArray(const QByteArray &data) { QList<SetToDownload> newSetList; bool ok; setsMap = QtJson::Json::parse(QString(data), ok).toMap(); if (!ok) { qDebug() << "error: QtJson::Json::parse()"; return 0; } QListIterator<QVariant> it(setsMap.values()); QVariantMap map; QString edition; QString editionLong; QVariant editionCards; QString setType; QDate releaseDate; bool import; while (it.hasNext()) { map = it.next().toMap(); edition = map.value("code").toString(); editionLong = map.value("name").toString(); editionCards = map.value("cards"); setType = map.value("type").toString(); // capitalize set type if(setType.length() > 0) setType[0] = setType[0].toUpper(); releaseDate = map.value("releaseDate").toDate(); // core and expansion sets are marked to be imported by default import = (0 == QString::compare(setType, QString("core"), Qt::CaseInsensitive) || 0 == QString::compare(setType, QString("expansion"), Qt::CaseInsensitive)); newSetList.append(SetToDownload(edition, editionLong, editionCards, import, setType, releaseDate)); } qSort(newSetList); if (newSetList.isEmpty()) return false; allSets = newSetList; return true; }
bool OracleImporter::readSetsFromXml(QXmlStreamReader &xml) { QList<SetToDownload> newSetList; QString edition; QString editionLong; QString editionURL; while (!xml.atEnd()) { if (xml.readNext() == QXmlStreamReader::EndElement) break; if (xml.name() == "set") { bool import = xml.attributes().value("import").toString().toInt(); while (!xml.atEnd()) { if (xml.readNext() == QXmlStreamReader::EndElement) break; if (xml.name() == "name") edition = xml.readElementText(); else if (xml.name() == "longname") editionLong = xml.readElementText(); else if (xml.name() == "url") editionURL = xml.readElementText(); } newSetList.append(SetToDownload(edition, editionLong, editionURL, import)); edition = editionLong = editionURL = QString(); } else if (xml.name() == "picture_url") pictureUrl = xml.readElementText(); else if (xml.name() == "picture_url_hq") pictureUrlHq = xml.readElementText(); else if (xml.name() == "picture_url_st") pictureUrlSt = xml.readElementText(); else if (xml.name() == "set_url") setUrl = xml.readElementText(); } if (newSetList.isEmpty()) return false; allSets = newSetList; return true; }