mirror of
https://github.com/correl/mage.git
synced 2025-03-07 20:53:18 -10:00
fix for downloading cards from wizards spoilers
This commit is contained in:
parent
a5eebbbf12
commit
4c83fd7d6a
1 changed files with 16 additions and 5 deletions
|
@ -60,7 +60,7 @@ public class WizardCardsImageSource implements CardImageSource {
|
|||
Document doc = Jsoup.connect("http://www.wizards.com/magic/tcg/article.aspx?x=mtg/tcg/" + setsAliases.get(cardSet)).get();
|
||||
Elements cardsImages = doc.select("img[height$=370]");
|
||||
for (int i = 0; i < cardsImages.size(); i++) {
|
||||
String cardName = cardsImages.get(i).attr("title").replace("\u00C6", "AE").replace("\u2019", "'");
|
||||
String cardName = normalizeName(cardsImages.get(i).attr("title"));
|
||||
if (cardName != null && !cardName.isEmpty()) {
|
||||
if (cardName.equals("Forest") || cardName.equals("Swamp") || cardName.equals("Mountain") || cardName.equals("Island") || cardName.equals("Plains")) {
|
||||
int landNumber = 1;
|
||||
|
@ -69,7 +69,7 @@ public class WizardCardsImageSource implements CardImageSource {
|
|||
}
|
||||
cardName += landNumber;
|
||||
}
|
||||
setLinks.put(cardName, cardsImages.get(i).attr("src"));
|
||||
setLinks.put(cardName.toLowerCase(), cardsImages.get(i).attr("src"));
|
||||
} else {
|
||||
setLinks.put(Integer.toString(i), cardsImages.get(i).attr("src"));
|
||||
}
|
||||
|
@ -77,12 +77,12 @@ public class WizardCardsImageSource implements CardImageSource {
|
|||
|
||||
cardsImages = doc.select("img[height$=470]");
|
||||
for (int i = 0; i < cardsImages.size(); i++) {
|
||||
String cardName = cardsImages.get(i).attr("title").replace("\u00C6", "AE").replace("\u2019", "'");
|
||||
String cardName = normalizeName(cardsImages.get(i).attr("title"));
|
||||
|
||||
if (cardName != null && !cardName.isEmpty()) {
|
||||
String[] cardNames = cardName.replace(")", "").split(" \\(");
|
||||
for (String name : cardNames) {
|
||||
setLinks.put(name, cardsImages.get(i).attr("src"));
|
||||
setLinks.put(name.toLowerCase(), cardsImages.get(i).attr("src"));
|
||||
}
|
||||
} else {
|
||||
setLinks.put(Integer.toString(i), cardsImages.get(i).attr("src"));
|
||||
|
@ -94,6 +94,17 @@ public class WizardCardsImageSource implements CardImageSource {
|
|||
return setLinks;
|
||||
}
|
||||
|
||||
private String normalizeName(String name) {
|
||||
return name.replace("\u2014", "-").replace("\u2019", "'")
|
||||
.replace("\u00C6", "AE").replace("\u00E6", "ae")
|
||||
.replace("\u00C1", "A").replace("\u00E1", "a")
|
||||
.replace("\u00C2", "A").replace("\u00E2", "a")
|
||||
.replace("\u00D6", "O").replace("\u00F6", "o")
|
||||
.replace("\u00DB", "U").replace("\u00FB", "u")
|
||||
.replace("\u00DC", "U").replace("\u00FC", "u")
|
||||
.replace("\u00E9", "e").replace("&", "//");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String generateURL(CardDownloadData card) throws Exception {
|
||||
Integer collectorId = card.getCollectorId();
|
||||
|
@ -110,7 +121,7 @@ public class WizardCardsImageSource implements CardImageSource {
|
|||
setLinks = getSetLinks(cardSet);
|
||||
sets.put(cardSet, setLinks);
|
||||
}
|
||||
String link = setLinks.get(card.getDownloadName());
|
||||
String link = setLinks.get(card.getDownloadName().toLowerCase());
|
||||
if (link == null) {
|
||||
if (setLinks.size() >= collectorId) {
|
||||
link = setLinks.get(Integer.toString(collectorId - 1));
|
||||
|
|
Loading…
Add table
Reference in a new issue