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

This commit is contained in:
Max-Wilhelm Bruker 2012-03-23 12:17:59 +01:00
parent 61b351aa9f
commit c92f3e4239
3 changed files with 8 additions and 2 deletions

View file

@ -14,6 +14,8 @@
#include <QNetworkRequest>
#include <QDebug>
const int CardDatabase::versionNeeded = 2;
CardSet::CardSet(const QString &_shortName, const QString &_longName)
: shortName(_shortName), longName(_longName)
{
@ -625,6 +627,8 @@ bool CardDatabase::loadFromFile(const QString &fileName)
if (xml.readNext() == QXmlStreamReader::StartElement) {
if (xml.name() != "cockatrice_carddatabase")
return false;
if (xml.attributes().value("version").toString().toInt() < versionNeeded)
return false;
while (!xml.atEnd()) {
if (xml.readNext() == QXmlStreamReader::EndElement)
break;
@ -649,7 +653,7 @@ bool CardDatabase::saveToFile(const QString &fileName)
xml.setAutoFormatting(true);
xml.writeStartDocument();
xml.writeStartElement("cockatrice_carddatabase");
xml.writeAttribute("version", "1");
xml.writeAttribute("version", QString::number(versionNeeded));
xml.writeStartElement("sets");
QHashIterator<QString, CardSet *> setIterator(setHash);

View file

@ -180,6 +180,7 @@ protected:
CardInfo *noCard;
PictureLoadingThread *loadingThread;
private:
static const int versionNeeded;
void loadCardsFromXml(QXmlStreamReader &xml);
void loadSetsFromXml(QXmlStreamReader &xml);
public:

View file

@ -92,7 +92,8 @@ CardInfo *OracleImporter::addCard(const QString &setName,
if (cardName.contains("XX"))
cardName.remove("XX");
cardName = cardName.replace("Æ", "AE");
cardName = cardName.replace("", "'");
CardInfo *card;
if (cardHash.contains(cardName)) {
card = cardHash.value(cardName);