picURL added to oracleimporter and carddatabase
This commit is contained in:
parent
e79b19413a
commit
aaa56acfd1
4 changed files with 38 additions and 4 deletions
|
@ -54,8 +54,8 @@ void SetList::sortByKey()
|
|||
qSort(begin(), end(), CompareFunctor());
|
||||
}
|
||||
|
||||
CardInfo::CardInfo(CardDatabase *_db, const QString &_name, const QString &_manacost, const QString &_cardtype, const QString &_powtough, const QString &_text, const QStringList &_colors, int _tableRow, const SetList &_sets)
|
||||
: db(_db), name(_name), sets(_sets), manacost(_manacost), cardtype(_cardtype), powtough(_powtough), text(_text), colors(_colors), tableRow(_tableRow), pixmap(NULL)
|
||||
CardInfo::CardInfo(CardDatabase *_db, const QString &_name, const QString &_manacost, const QString &_cardtype, const QString &_powtough, const QString &_text, const QStringList &_colors, int _tableRow, const SetList &_sets, const QString &_picURL)
|
||||
: db(_db), name(_name), sets(_sets), manacost(_manacost), cardtype(_cardtype), powtough(_powtough), text(_text), colors(_colors), tableRow(_tableRow), pixmap(NULL), picURL(_picURL)
|
||||
{
|
||||
for (int i = 0; i < sets.size(); i++)
|
||||
sets[i]->append(this);
|
||||
|
@ -194,6 +194,7 @@ QXmlStreamWriter &operator<<(QXmlStreamWriter &xml, const CardInfo *info)
|
|||
xml.writeTextElement("pt", info->getPowTough());
|
||||
xml.writeTextElement("tablerow", QString::number(info->getTableRow()));
|
||||
xml.writeTextElement("text", info->getText());
|
||||
xml.writeTextElement("picURL", info->getPicURL());
|
||||
xml.writeEndElement(); // card
|
||||
|
||||
return xml;
|
||||
|
|
|
@ -42,6 +42,7 @@ private:
|
|||
QString powtough;
|
||||
QString text;
|
||||
QStringList colors;
|
||||
QString picURL;
|
||||
int tableRow;
|
||||
QPixmap *pixmap;
|
||||
QMap<int, QPixmap *> scaledPixmapCache;
|
||||
|
@ -54,7 +55,8 @@ public:
|
|||
const QString &_text = QString(),
|
||||
const QStringList &_colors = QStringList(),
|
||||
int _tableRow = 0,
|
||||
const SetList &_sets = SetList());
|
||||
const SetList &_sets = SetList(),
|
||||
const QString &_picURL = QString());
|
||||
~CardInfo();
|
||||
QString getName() const { return name; }
|
||||
SetList getSets() const { return sets; }
|
||||
|
@ -63,9 +65,11 @@ public:
|
|||
QString getPowTough() const { return powtough; }
|
||||
QString getText() const { return text; }
|
||||
QStringList getColors() const { return colors; }
|
||||
QString getPicURL() const { return picURL; }
|
||||
QString getMainCardType() const;
|
||||
int getTableRow() const { return tableRow; }
|
||||
void setTableRow(int _tableRow) { tableRow = _tableRow; }
|
||||
void setPicURL(QString _picURL) { picURL = _picURL; }
|
||||
void addToSet(CardSet *set);
|
||||
QPixmap *loadPixmap();
|
||||
QPixmap *getPixmap(QSize size);
|
||||
|
|
|
@ -73,6 +73,7 @@ OracleImporter::OracleImporter()
|
|||
setsToDownload << SetToDownload("PR", "Promo cards", "pr.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("M10", "Magic 2010", "http://www.crystalkeep.com/magic/rules/oracle/oracle-m10.txt");
|
||||
|
||||
colorOverride.insert("Ancestral Vision", QStringList("U"));
|
||||
colorOverride.insert("Crimson Kobolds", QStringList("R"));
|
||||
|
@ -203,6 +204,10 @@ void OracleImporter::importOracleFile(CardSet *set)
|
|||
QString cardname = in.readLine();
|
||||
if (cardname.isEmpty())
|
||||
continue;
|
||||
if (cardname.contains("XX")){
|
||||
cardname.remove("XX");
|
||||
}
|
||||
|
||||
QString manacost = in.readLine();
|
||||
QString cardtype, powtough;
|
||||
QStringList text;
|
||||
|
@ -238,7 +243,7 @@ void OracleImporter::importOracleFile(CardSet *set)
|
|||
colors = colorOverride.value(cardname);
|
||||
|
||||
card = new CardInfo(this, cardname, manacost, cardtype, powtough, text.join("\n"), colors);
|
||||
|
||||
card->setPicURL(getURLFromName(normalizeName(cardname)));
|
||||
int tableRow = 1;
|
||||
QString mainCardType = card->getMainCardType();
|
||||
if (tableRowOverride.contains(cardname))
|
||||
|
@ -259,6 +264,28 @@ void OracleImporter::importOracleFile(CardSet *set)
|
|||
qDebug(QString("%1: %2 cards imported").arg(set->getLongName()).arg(cards).toLatin1());
|
||||
}
|
||||
|
||||
QString OracleImporter::normalizeName(QString cardname)
|
||||
{
|
||||
QString normalized = cardname;
|
||||
normalized.remove("'",Qt::CaseInsensitive);
|
||||
normalized.remove("//",Qt::CaseInsensitive);
|
||||
normalized.remove(",",Qt::CaseInsensitive);
|
||||
normalized.remove(":",Qt::CaseInsensitive);
|
||||
normalized.remove(".",Qt::CaseInsensitive);
|
||||
normalized.remove(QRegExp("\\(.*\\)"));
|
||||
normalized = normalized.trimmed();
|
||||
normalized = normalized.simplified();
|
||||
normalized = normalized.replace(" ", "_");
|
||||
normalized = normalized.replace("-", "_");
|
||||
return normalized;
|
||||
}
|
||||
|
||||
|
||||
QString OracleImporter::getURLFromName(QString normalizedName)
|
||||
{
|
||||
return "http://www.wizards.com/global/images/magic/general/"+normalizedName+".jpg";
|
||||
}
|
||||
|
||||
void OracleImporter::downloadNextFile()
|
||||
{
|
||||
if (setIndex == -1) {
|
||||
|
|
|
@ -29,6 +29,8 @@ private:
|
|||
QBuffer *buffer;
|
||||
QHttp *http;
|
||||
QProgressDialog *progressDialog;
|
||||
QString normalizeName(QString);
|
||||
QString getURLFromName(QString);
|
||||
private slots:
|
||||
void httpRequestFinished(int requestId, bool error);
|
||||
void readResponseHeader(const QHttpResponseHeader &responseHeader);
|
||||
|
|
Loading…
Reference in a new issue