Commit c92f3e42 authored by Max-Wilhelm Bruker's avatar Max-Wilhelm Bruker
Browse files

fix for issue #17: oracle: convert smart quotes to normal quotes in card names

parent 61b351aa
...@@ -14,6 +14,8 @@ ...@@ -14,6 +14,8 @@
#include <QNetworkRequest> #include <QNetworkRequest>
#include <QDebug> #include <QDebug>
const int CardDatabase::versionNeeded = 2;
CardSet::CardSet(const QString &_shortName, const QString &_longName) CardSet::CardSet(const QString &_shortName, const QString &_longName)
: shortName(_shortName), longName(_longName) : shortName(_shortName), longName(_longName)
{ {
...@@ -625,6 +627,8 @@ bool CardDatabase::loadFromFile(const QString &fileName) ...@@ -625,6 +627,8 @@ bool CardDatabase::loadFromFile(const QString &fileName)
if (xml.readNext() == QXmlStreamReader::StartElement) { if (xml.readNext() == QXmlStreamReader::StartElement) {
if (xml.name() != "cockatrice_carddatabase") if (xml.name() != "cockatrice_carddatabase")
return false; return false;
if (xml.attributes().value("version").toString().toInt() < versionNeeded)
return false;
while (!xml.atEnd()) { while (!xml.atEnd()) {
if (xml.readNext() == QXmlStreamReader::EndElement) if (xml.readNext() == QXmlStreamReader::EndElement)
break; break;
...@@ -649,7 +653,7 @@ bool CardDatabase::saveToFile(const QString &fileName) ...@@ -649,7 +653,7 @@ bool CardDatabase::saveToFile(const QString &fileName)
xml.setAutoFormatting(true); xml.setAutoFormatting(true);
xml.writeStartDocument(); xml.writeStartDocument();
xml.writeStartElement("cockatrice_carddatabase"); xml.writeStartElement("cockatrice_carddatabase");
xml.writeAttribute("version", "1"); xml.writeAttribute("version", QString::number(versionNeeded));
xml.writeStartElement("sets"); xml.writeStartElement("sets");
QHashIterator<QString, CardSet *> setIterator(setHash); QHashIterator<QString, CardSet *> setIterator(setHash);
......
...@@ -180,6 +180,7 @@ protected: ...@@ -180,6 +180,7 @@ protected:
CardInfo *noCard; CardInfo *noCard;
PictureLoadingThread *loadingThread; PictureLoadingThread *loadingThread;
private: private:
static const int versionNeeded;
void loadCardsFromXml(QXmlStreamReader &xml); void loadCardsFromXml(QXmlStreamReader &xml);
void loadSetsFromXml(QXmlStreamReader &xml); void loadSetsFromXml(QXmlStreamReader &xml);
public: public:
......
...@@ -92,7 +92,8 @@ CardInfo *OracleImporter::addCard(const QString &setName, ...@@ -92,7 +92,8 @@ CardInfo *OracleImporter::addCard(const QString &setName,
if (cardName.contains("XX")) if (cardName.contains("XX"))
cardName.remove("XX"); cardName.remove("XX");
cardName = cardName.replace("Æ", "AE"); cardName = cardName.replace("Æ", "AE");
cardName = cardName.replace("’", "'");
CardInfo *card; CardInfo *card;
if (cardHash.contains(cardName)) { if (cardHash.contains(cardName)) {
card = cardHash.value(cardName); card = cardHash.value(cardName);
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment