mirror of
https://github.com/magefree/mage.git
synced 2025-12-25 21:12:04 -08:00
Changed set codes in image sources and Mage Sets to match recent changes. Changed Portal Second Age set code back to PO2. Updated tokens with recent sets to product correct images. Fixed that there was no basic land slot in EMN packs.
This commit is contained in:
parent
5350c134da
commit
9630320ba9
193 changed files with 583 additions and 366 deletions
|
|
@ -16,100 +16,33 @@ public class MagicCardsImageSource implements CardImageSource {
|
|||
|
||||
private static final Map<String, String> setNameTokenReplacement = new HashMap<String, String>() {
|
||||
{
|
||||
put("C16", "commander-2016");
|
||||
put("10E", "tenth-edition");
|
||||
put("AER", "aether-revolt");
|
||||
put("KLD", "kaladesh");
|
||||
put("CN2", "conspiracy-take-the-crown");
|
||||
put("W16", "welcome-deck-2016");
|
||||
put("EMA", "eternal-masters");
|
||||
put("EMN", "eldritch-moon");
|
||||
put("SOI", "shadows-over-innistrad");
|
||||
put("OGW", "oath-of-the-gatewatch");
|
||||
put("CMA", "commanders-arsenal");
|
||||
put("ARENA", "arena-league");
|
||||
put("CP", "champs");
|
||||
put("UGIN", "ugins-fate");
|
||||
put("ALA", "shards-of-alara");
|
||||
put("APAC", "asia-pacific-land-program");
|
||||
put("EURO", "european-land-program");
|
||||
put("SUS", "super-series");
|
||||
put("C15", "commander-2015");
|
||||
put("ORG", "oath-of-the-gatewatch");
|
||||
put("EXP", "zendikar-expeditions");
|
||||
put("ARB", "alara-reborn");
|
||||
put("ARC", "archenemy");
|
||||
put("ARENA", "arena-league");
|
||||
put("AVR", "avacyn-restored");
|
||||
put("BFZ", "battle-for-zendikar");
|
||||
put("FVL", "from-the-vault-legends");
|
||||
put("FVD", "from-the-vault-dragons");
|
||||
put("FVE", "from-the-vault-exiled");
|
||||
put("FVR", "from-the-vault-relics");
|
||||
put("V12", "from-the-vault-realms");
|
||||
put("V13", "from-the-vault-twenty");
|
||||
put("V14", "from-the-vault-annihilation");
|
||||
put("V15", "from-the-vault-angels");
|
||||
put("V16", "from-the-vault-lore");
|
||||
put("CLASH", "clash-pack");
|
||||
put("TPR", "tempest-remastered");
|
||||
put("ORI", "magic-origins");
|
||||
put("MM2", "modern-masters-2015");
|
||||
put("PTC", "prerelease-events");
|
||||
put("DTK", "dragons-of-tarkir");
|
||||
put("GRC", "wpngateway");
|
||||
put("MBP", "media-inserts");
|
||||
put("MLP", "launch-party");
|
||||
put("WMCQ", "world-magic-cup-qualifier");
|
||||
put("GPX", "grand-prix");
|
||||
put("JR", "judge-gift-program");
|
||||
put("MGDC", "magic-game-day-cards");
|
||||
put("FNMP", "friday-night-magic");
|
||||
put("FRF", "fate-reforged");
|
||||
put("C14", "commander-2014");
|
||||
put("KTK", "khans-of-tarkir");
|
||||
put("VMA", "vintage-masters");
|
||||
put("CNS", "conspiracy");
|
||||
put("JOU", "journey-into-nyx");
|
||||
put("BNG", "born-of-the-gods");
|
||||
put("C13", "commander-2013-edition");
|
||||
put("THS", "theros");
|
||||
put("MMA", "modern-masters");
|
||||
put("DGM", "dragons-maze");
|
||||
put("GTC", "gatecrash");
|
||||
put("RTR", "return-to-ravnica");
|
||||
put("AVR", "avacyn-restored");
|
||||
put("DKA", "dark-ascension");
|
||||
put("ISD", "innistrad");
|
||||
put("NPH", "new-phyrexia");
|
||||
put("MBS", "mirrodin-besieged");
|
||||
put("SOM", "scars-of-mirrodin");
|
||||
put("ROE", "rise-of-the-eldrazi");
|
||||
put("WWK", "worldwake");
|
||||
put("ZEN", "zendikar");
|
||||
put("HOP", "planechase");
|
||||
put("C14", "commander-2014");
|
||||
put("C15", "commander-2015");
|
||||
put("C16", "commander-2016");
|
||||
put("CLASH", "clash-pack");
|
||||
put("CMA", "commanders-arsenal");
|
||||
put("CMD", "commander");
|
||||
put("ARC", "archenemy");
|
||||
put("PC2", "planechase-2012-edition");
|
||||
put("ARB", "alara-reborn");
|
||||
put("CN2", "conspiracy-take-the-crown");
|
||||
put("CNS", "conspiracy");
|
||||
put("CON", "conflux");
|
||||
put("ALA", "shards-of-alara");
|
||||
put("EVE", "eventide");
|
||||
put("SHM", "shadowmoor");
|
||||
put("MOR", "morningtide");
|
||||
put("LRW", "lorwyn");
|
||||
put("10E", "tenth-edition");
|
||||
put("CP", "champs");
|
||||
put("CSP", "coldsnap");
|
||||
put("MPRP", "magic-player-rewards");
|
||||
put("POR", "portal");
|
||||
put("PO2", "portal-second-age");
|
||||
put("PTK", "portal-three-kingdoms");
|
||||
put("M15", "magic-2015");
|
||||
put("M14", "magic-2014");
|
||||
put("M13", "magic-2013");
|
||||
put("M12", "magic-2012");
|
||||
put("M11", "magic-2011");
|
||||
put("M10", "magic-2010");
|
||||
put("EVG", "duel-decks-elves-vs-goblins");
|
||||
put("DD2", "duel-decks-jace-vs-chandra");
|
||||
put("DD3A", "duel-decks-anthology-divine-vs-demonic");
|
||||
put("DD3B", "duel-decks-anthology-elves-vs-goblins");
|
||||
put("DD3C", "duel-decks-anthology-garruk-vs-liliana");
|
||||
put("DD3D", "duel-decks-anthology-jace-vs-chandra");
|
||||
put("DD3DVD", "duel-decks-anthology-divine-vs-demonic");
|
||||
put("DD3EVG", "duel-decks-anthology-elves-vs-goblins");
|
||||
put("DD3GVL", "duel-decks-anthology-garruk-vs-liliana");
|
||||
put("DD3JVC", "duel-decks-anthology-jace-vs-chandra");
|
||||
put("DDC", "duel-decks-divine-vs-demonic");
|
||||
put("DDD", "duel-decks-garruk-vs-liliana");
|
||||
put("DDE", "duel-decks-phyrexia-vs-the-coalition");
|
||||
|
|
@ -126,6 +59,73 @@ public class MagicCardsImageSource implements CardImageSource {
|
|||
put("DDP", "duel-decks-zendikar-vs-eldrazi");
|
||||
put("DDQ", "duel-decks-blessed-vs-cursed");
|
||||
put("DDR", "duel-decks-nissa-vs-ob-nixilis");
|
||||
put("DGM", "dragons-maze");
|
||||
put("DKA", "dark-ascension");
|
||||
put("DRB", "from-the-vault-dragons");
|
||||
put("DTK", "dragons-of-tarkir");
|
||||
put("EMA", "eternal-masters");
|
||||
put("EMN", "eldritch-moon");
|
||||
put("EURO", "european-land-program");
|
||||
put("EVE", "eventide");
|
||||
put("EVG", "duel-decks-elves-vs-goblins");
|
||||
put("EXP", "zendikar-expeditions");
|
||||
put("FNMP", "friday-night-magic");
|
||||
put("FRF", "fate-reforged");
|
||||
put("GPX", "grand-prix");
|
||||
put("GRC", "wpngateway");
|
||||
put("GTC", "gatecrash");
|
||||
put("HOP", "planechase");
|
||||
put("ISD", "innistrad");
|
||||
put("JOU", "journey-into-nyx");
|
||||
put("JR", "judge-gift-program");
|
||||
put("KLD", "kaladesh");
|
||||
put("KTK", "khans-of-tarkir");
|
||||
put("LRW", "lorwyn");
|
||||
put("M10", "magic-2010");
|
||||
put("M11", "magic-2011");
|
||||
put("M12", "magic-2012");
|
||||
put("M13", "magic-2013");
|
||||
put("M14", "magic-2014");
|
||||
put("M15", "magic-2015");
|
||||
put("MBP", "media-inserts");
|
||||
put("MBS", "mirrodin-besieged");
|
||||
put("MGDC", "magic-game-day-cards");
|
||||
put("MLP", "launch-party");
|
||||
put("MM2", "modern-masters-2015");
|
||||
put("MMA", "modern-masters");
|
||||
put("MOR", "morningtide");
|
||||
put("MPRP", "magic-player-rewards");
|
||||
put("NPH", "new-phyrexia");
|
||||
put("OGW", "oath-of-the-gatewatch");
|
||||
put("ORG", "oath-of-the-gatewatch");
|
||||
put("ORI", "magic-origins");
|
||||
put("PC2", "planechase-2012-edition");
|
||||
put("PO2", "portal-second-age");
|
||||
put("POR", "portal");
|
||||
put("PTC", "prerelease-events");
|
||||
put("PTK", "portal-three-kingdoms");
|
||||
put("ROE", "rise-of-the-eldrazi");
|
||||
put("RTR", "return-to-ravnica");
|
||||
put("SHM", "shadowmoor");
|
||||
put("SOI", "shadows-over-innistrad");
|
||||
put("SOM", "scars-of-mirrodin");
|
||||
put("SUS", "super-series");
|
||||
put("THS", "theros");
|
||||
put("TPR", "tempest-remastered");
|
||||
put("UGIN", "ugins-fate");
|
||||
put("V09", "from-the-vault-exiled");
|
||||
put("V10", "from-the-vault-relics");
|
||||
put("V11", "from-the-vault-legends");
|
||||
put("V12", "from-the-vault-realms");
|
||||
put("V13", "from-the-vault-twenty");
|
||||
put("V14", "from-the-vault-annihilation");
|
||||
put("V15", "from-the-vault-angels");
|
||||
put("V16", "from-the-vault-lore");
|
||||
put("VMA", "vintage-masters");
|
||||
put("W16", "welcome-deck-2016");
|
||||
put("WMCQ", "world-magic-cup-qualifier");
|
||||
put("WWK", "worldwake");
|
||||
put("ZEN", "zendikar");
|
||||
}
|
||||
private static final long serialVersionUID = 1L;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -115,10 +115,10 @@ public class WizardCardsImageSource implements CardImageSource {
|
|||
setsAliases.put("CON", "Conflux");
|
||||
setsAliases.put("CSP", "Coldsnap");
|
||||
setsAliases.put("DD2", "Duel Decks: Jace vs. Chandra");
|
||||
setsAliases.put("DD3A", "Duel Decks Anthology, Divine vs. Demonic");
|
||||
setsAliases.put("DD3B", "Duel Decks Anthology, Elves vs. Goblins");
|
||||
setsAliases.put("DD3C", "Duel Decks Anthology, Garruk vs. Liliana");
|
||||
setsAliases.put("DD3D", "Duel Decks Anthology, Jace vs. Chandra");
|
||||
setsAliases.put("DD3DVD", "Duel Decks Anthology, Divine vs. Demonic");
|
||||
setsAliases.put("DD3EVG", "Duel Decks Anthology, Elves vs. Goblins");
|
||||
setsAliases.put("DD3GVL", "Duel Decks Anthology, Garruk vs. Liliana");
|
||||
setsAliases.put("DD3JVC", "Duel Decks Anthology, Jace vs. Chandra");
|
||||
setsAliases.put("DDC", "Duel Decks: Divine vs. Demonic");
|
||||
setsAliases.put("DDD", "Duel Decks: Garruk vs. Liliana");
|
||||
setsAliases.put("DDE", "Duel Decks: Phyrexia vs. the Coalition");
|
||||
|
|
@ -139,6 +139,7 @@ public class WizardCardsImageSource implements CardImageSource {
|
|||
setsAliases.put("DIS", "Dissension");
|
||||
setsAliases.put("DKA", "Dark Ascension");
|
||||
setsAliases.put("DKM", "Deckmasters");
|
||||
setsAliases.put("DRB", "From the Vault: Dragons");
|
||||
setsAliases.put("DRK", "The Dark");
|
||||
setsAliases.put("DST", "Darksteel");
|
||||
setsAliases.put("DTK", "Dragons of Tarkir");
|
||||
|
|
@ -151,14 +152,11 @@ public class WizardCardsImageSource implements CardImageSource {
|
|||
setsAliases.put("FNMP", "Friday Night Magic");
|
||||
setsAliases.put("FRF", "Fate Reforged");
|
||||
setsAliases.put("FUT", "Future Sight");
|
||||
setsAliases.put("FVD", "From the Vault: Dragons");
|
||||
setsAliases.put("FVE", "From the Vault: Exiled");
|
||||
setsAliases.put("FVL", "From the Vault: Legends");
|
||||
setsAliases.put("FVR", "From the Vault: Relics");
|
||||
setsAliases.put("GPT", "Guildpact");
|
||||
setsAliases.put("GPX", "Grand Prix");
|
||||
setsAliases.put("GRC", "WPN Gateway");
|
||||
setsAliases.put("GTC", "Gatecrash");
|
||||
setsAliases.put("H09", "Premium Deck Series: Slivers");
|
||||
setsAliases.put("HML", "Homelands");
|
||||
setsAliases.put("HOP", "Planechase");
|
||||
setsAliases.put("ICE", "Ice Age");
|
||||
|
|
@ -195,7 +193,7 @@ public class WizardCardsImageSource implements CardImageSource {
|
|||
setsAliases.put("MOR", "Morningtide");
|
||||
setsAliases.put("MPRP", "Magic Player Rewards");
|
||||
setsAliases.put("MRD", "Mirrodin");
|
||||
setsAliases.put("NMS", "Nemesis");
|
||||
setsAliases.put("NEM", "Nemesis");
|
||||
setsAliases.put("NPH", "New Phyrexia");
|
||||
setsAliases.put("OGW", "Oath of the Gatewatch");
|
||||
setsAliases.put("ODY", "Odyssey");
|
||||
|
|
@ -204,7 +202,6 @@ public class WizardCardsImageSource implements CardImageSource {
|
|||
setsAliases.put("PC2", "Planechase 2012 Edition");
|
||||
setsAliases.put("PCY", "Prophecy");
|
||||
setsAliases.put("PD2", "Premium Deck Series: Fire and Lightning");
|
||||
setsAliases.put("PDS", "Premium Deck Series: Slivers");
|
||||
setsAliases.put("PLC", "Planar Chaos");
|
||||
setsAliases.put("PLS", "Planeshift");
|
||||
setsAliases.put("PO2", "Portal Second Age");
|
||||
|
|
@ -233,6 +230,9 @@ public class WizardCardsImageSource implements CardImageSource {
|
|||
setsAliases.put("ULG", "Urza's Legacy");
|
||||
setsAliases.put("UNH", "Unhinged");
|
||||
setsAliases.put("USG", "Urza's Saga");
|
||||
setsAliases.put("V09", "From the Vault: Exiled");
|
||||
setsAliases.put("V10", "From the Vault: Relics");
|
||||
setsAliases.put("V11", "From the Vault: Legends");
|
||||
setsAliases.put("V12", "From the Vault: Realms");
|
||||
setsAliases.put("V13", "From the Vault: Twenty");
|
||||
setsAliases.put("V14", "From the Vault: Annihilation (2014)");
|
||||
|
|
@ -250,7 +250,7 @@ public class WizardCardsImageSource implements CardImageSource {
|
|||
setsAliases.put("WTH", "Weatherlight");
|
||||
setsAliases.put("WWK", "Worldwake");
|
||||
setsAliases.put("ZEN", "Zendikar");
|
||||
|
||||
|
||||
languageAliases = new HashMap<>();
|
||||
languageAliases.put("es", "Spanish");
|
||||
languageAliases.put("jp", "Japanese");
|
||||
|
|
@ -298,16 +298,16 @@ public class WizardCardsImageSource implements CardImageSource {
|
|||
} catch (IOException ex) {
|
||||
System.out.println("Exception when parsing the wizards page: " + ex.getMessage());
|
||||
}
|
||||
|
||||
|
||||
executor.shutdown();
|
||||
|
||||
|
||||
while (!executor.isTerminated()) {
|
||||
try {
|
||||
Thread.sleep(1000);
|
||||
} catch (InterruptedException ie) {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return setLinks;
|
||||
}
|
||||
|
||||
|
|
@ -323,9 +323,9 @@ public class WizardCardsImageSource implements CardImageSource {
|
|||
URL url = new URL(urlString);
|
||||
Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(proxyServer, proxyPort));
|
||||
HttpURLConnection uc = (HttpURLConnection)url.openConnection(proxy);
|
||||
|
||||
|
||||
uc.connect();
|
||||
|
||||
|
||||
String line;
|
||||
StringBuffer tmp = new StringBuffer();
|
||||
BufferedReader in = new BufferedReader(new InputStreamReader(uc.getInputStream()));
|
||||
|
|
@ -336,7 +336,7 @@ public class WizardCardsImageSource implements CardImageSource {
|
|||
}
|
||||
return doc;
|
||||
}
|
||||
|
||||
|
||||
private Map<String, String> getLandVariations(Integer multiverseId, String cardName) throws IOException, NumberFormatException {
|
||||
String urlLandDocument = "http://gatherer.wizards.com/Pages/Card/Details.aspx?multiverseid=" + multiverseId;
|
||||
Document landDoc = getDocument(urlLandDocument);
|
||||
|
|
@ -352,7 +352,7 @@ public class WizardCardsImageSource implements CardImageSource {
|
|||
} else {
|
||||
links.put(cardName.toLowerCase(), generateLink(multiverseId));
|
||||
}
|
||||
|
||||
|
||||
return links;
|
||||
}
|
||||
|
||||
|
|
@ -364,7 +364,7 @@ public class WizardCardsImageSource implements CardImageSource {
|
|||
if (preferedLanguage.equals("en")) {
|
||||
return multiverseId;
|
||||
}
|
||||
|
||||
|
||||
String languageName = languageAliases.get(preferedLanguage);
|
||||
HashMap<String, Integer> localizedLanguageIds = getlocalizedMultiverseIds(multiverseId);
|
||||
if (localizedLanguageIds.containsKey(languageName)) {
|
||||
|
|
@ -373,7 +373,7 @@ public class WizardCardsImageSource implements CardImageSource {
|
|||
return multiverseId;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private HashMap<String, Integer> getlocalizedMultiverseIds(Integer englishMultiverseId) throws IOException {
|
||||
String cardLanguagesUrl = "http://gatherer.wizards.com/Pages/Card/Languages.aspx?multiverseid=" + englishMultiverseId;
|
||||
Document cardLanguagesDoc = getDocument(cardLanguagesUrl);
|
||||
|
|
@ -401,7 +401,7 @@ public class WizardCardsImageSource implements CardImageSource {
|
|||
}
|
||||
return name.replace("\u2014", "-").replace("\u2019", "'")
|
||||
.replace("\u00C6", "AE").replace("\u00E6", "ae")
|
||||
.replace("\u00C3\u2020", "AE")
|
||||
.replace("\u00C3\u2020", "AE")
|
||||
.replace("\u00C1", "A").replace("\u00E1", "a")
|
||||
.replace("\u00C2", "A").replace("\u00E2", "a")
|
||||
.replace("\u00D6", "O").replace("\u00F6", "o")
|
||||
|
|
@ -456,21 +456,21 @@ public class WizardCardsImageSource implements CardImageSource {
|
|||
public Float getAverageSize() {
|
||||
return 60.0f;
|
||||
}
|
||||
|
||||
|
||||
private final class GetImageLinkTask implements Runnable {
|
||||
|
||||
private final Integer multiverseId;
|
||||
private final String cardName;
|
||||
private final String preferedLanguage;
|
||||
private final ConcurrentHashMap setLinks;
|
||||
|
||||
|
||||
public GetImageLinkTask(Integer multiverseId, String cardName, String preferedLanguage, ConcurrentHashMap setLinks) {
|
||||
this.multiverseId = multiverseId;
|
||||
this.cardName = cardName;
|
||||
this.preferedLanguage = preferedLanguage;
|
||||
this.setLinks = setLinks;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
try {
|
||||
|
|
@ -484,7 +484,7 @@ public class WizardCardsImageSource implements CardImageSource {
|
|||
System.out.println("Exception when parsing the wizards page: " + ex.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue