mana crypt fix
This commit is contained in:
parent
27d25d41ac
commit
22607ad14d
1 changed files with 30 additions and 10 deletions
|
@ -70,6 +70,7 @@ OracleImporter::OracleImporter()
|
||||||
setsToDownload << SetToDownload("P3", "Portal: Three Kingdoms", "http://www.crystalkeep.com/magic/rules/oracle/oracle-pt3.txt");
|
setsToDownload << SetToDownload("P3", "Portal: Three Kingdoms", "http://www.crystalkeep.com/magic/rules/oracle/oracle-pt3.txt");
|
||||||
setsToDownload << SetToDownload("ST", "Starter", "http://www.crystalkeep.com/magic/rules/oracle/oracle-st.txt");
|
setsToDownload << SetToDownload("ST", "Starter", "http://www.crystalkeep.com/magic/rules/oracle/oracle-st.txt");
|
||||||
setsToDownload << SetToDownload("ST2K", "Starter 2000", "http://www.crystalkeep.com/magic/rules/oracle/oracle-st2.txt");
|
setsToDownload << SetToDownload("ST2K", "Starter 2000", "http://www.crystalkeep.com/magic/rules/oracle/oracle-st2.txt");
|
||||||
|
setsToDownload << SetToDownload("PR", "Promo cards", "pr.txt");
|
||||||
setsToDownload << SetToDownload("UG", "Unglued", "http://www.crystalkeep.com/magic/rules/oracle/oracle-ug.txt");
|
setsToDownload << SetToDownload("UG", "Unglued", "http://www.crystalkeep.com/magic/rules/oracle/oracle-ug.txt");
|
||||||
setsToDownload << SetToDownload("UNH", "Unhinged", "http://www.crystalkeep.com/magic/rules/oracle/oracle-uh.txt");
|
setsToDownload << SetToDownload("UNH", "Unhinged", "http://www.crystalkeep.com/magic/rules/oracle/oracle-uh.txt");
|
||||||
|
|
||||||
|
@ -195,6 +196,7 @@ OracleImporter::OracleImporter()
|
||||||
|
|
||||||
void OracleImporter::importOracleFile(CardSet *set)
|
void OracleImporter::importOracleFile(CardSet *set)
|
||||||
{
|
{
|
||||||
|
int cards = 0;
|
||||||
buffer->seek(0);
|
buffer->seek(0);
|
||||||
QTextStream in(buffer);
|
QTextStream in(buffer);
|
||||||
while (!in.atEnd()) {
|
while (!in.atEnd()) {
|
||||||
|
@ -249,11 +251,12 @@ void OracleImporter::importOracleFile(CardSet *set)
|
||||||
tableRow = 3;
|
tableRow = 3;
|
||||||
card->setTableRow(tableRow);
|
card->setTableRow(tableRow);
|
||||||
|
|
||||||
qDebug(cardname.toLatin1());
|
|
||||||
cardHash.insert(cardname, card);
|
cardHash.insert(cardname, card);
|
||||||
}
|
}
|
||||||
card->addToSet(set);
|
card->addToSet(set);
|
||||||
|
cards++;
|
||||||
}
|
}
|
||||||
|
qDebug(QString("%1: %2 cards imported").arg(set->getLongName()).arg(cards).toLatin1());
|
||||||
}
|
}
|
||||||
|
|
||||||
void OracleImporter::downloadNextFile()
|
void OracleImporter::downloadNextFile()
|
||||||
|
@ -262,13 +265,25 @@ void OracleImporter::downloadNextFile()
|
||||||
progressDialog = new QProgressDialog(tr("Downloading oracle files..."), QString(), 0, setsToDownload.size());
|
progressDialog = new QProgressDialog(tr("Downloading oracle files..."), QString(), 0, setsToDownload.size());
|
||||||
setIndex = 0;
|
setIndex = 0;
|
||||||
}
|
}
|
||||||
QUrl url(setsToDownload[setIndex].getUrl());
|
QString urlString = setsToDownload[setIndex].getUrl();
|
||||||
|
if (urlString.startsWith("http://")) {
|
||||||
|
QUrl url(urlString);
|
||||||
http->setHost(url.host(), QHttp::ConnectionModeHttp, url.port() == -1 ? 0 : url.port());
|
http->setHost(url.host(), QHttp::ConnectionModeHttp, url.port() == -1 ? 0 : url.port());
|
||||||
|
|
||||||
buffer->close();
|
buffer->close();
|
||||||
buffer->setData(QByteArray());
|
buffer->setData(QByteArray());
|
||||||
buffer->open(QIODevice::ReadWrite | QIODevice::Text);
|
buffer->open(QIODevice::ReadWrite | QIODevice::Text);
|
||||||
reqId = http->get(QUrl::toPercentEncoding(url.path(), "!$&'()*+,;=:@/"), buffer);
|
reqId = http->get(QUrl::toPercentEncoding(url.path(), "!$&'()*+,;=:@/"), buffer);
|
||||||
|
} else {
|
||||||
|
QFile file(urlString);
|
||||||
|
file.open(QIODevice::ReadOnly | QIODevice::Text);
|
||||||
|
|
||||||
|
buffer->close();
|
||||||
|
buffer->setData(file.readAll());
|
||||||
|
buffer->open(QIODevice::ReadWrite | QIODevice::Text);
|
||||||
|
reqId = 0;
|
||||||
|
httpRequestFinished(reqId, false);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void OracleImporter::httpRequestFinished(int requestId, bool error)
|
void OracleImporter::httpRequestFinished(int requestId, bool error)
|
||||||
|
@ -280,12 +295,17 @@ void OracleImporter::httpRequestFinished(int requestId, bool error)
|
||||||
if (requestId != reqId)
|
if (requestId != reqId)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
importOracleFile(new CardSet(setsToDownload[setIndex].getShortName(), setsToDownload[setIndex].getLongName()));
|
CardSet *set = new CardSet(setsToDownload[setIndex].getShortName(), setsToDownload[setIndex].getLongName());
|
||||||
|
if (!setHash.contains(set->getShortName()))
|
||||||
|
setHash.insert(set->getShortName(), set);
|
||||||
|
importOracleFile(set);
|
||||||
progressDialog->setValue(++setIndex);
|
progressDialog->setValue(++setIndex);
|
||||||
|
|
||||||
if (setIndex == setsToDownload.size()) {
|
if (setIndex == setsToDownload.size()) {
|
||||||
qDebug(QString("OracleImporter: %1 cards imported").arg(cardHash.size()).toLatin1());
|
qDebug(QString("Total: %1 cards imported").arg(cardHash.size()).toLatin1());
|
||||||
setIndex = -1;
|
setIndex = -1;
|
||||||
|
saveToFile("cards.xml");
|
||||||
|
qApp->quit();
|
||||||
} else
|
} else
|
||||||
downloadNextFile();
|
downloadNextFile();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue