mirror of
https://github.com/correl/mage.git
synced 2024-11-25 11:09:53 +00:00
* Images: fixed broken download of some promo double faces cards (#7891);
This commit is contained in:
parent
d7a93cc95f
commit
4b6fae663f
3 changed files with 24 additions and 6 deletions
|
@ -125,14 +125,31 @@ public enum ScryfallImageSource implements CardImageSource {
|
||||||
final String defaultCode = CardLanguage.ENGLISH.getCode();
|
final String defaultCode = CardLanguage.ENGLISH.getCode();
|
||||||
final String localizedCode = languageAliases.getOrDefault(this.getCurrentLanguage(), defaultCode);
|
final String localizedCode = languageAliases.getOrDefault(this.getCurrentLanguage(), defaultCode);
|
||||||
|
|
||||||
// licalized and default
|
|
||||||
List<String> needUrls = new ArrayList<>();
|
List<String> needUrls = new ArrayList<>();
|
||||||
|
|
||||||
|
String apiUrl = ScryfallImageSupportCards.findDirectDownloadLink(card.getSet(), card.getName(), card.getCollectorId());
|
||||||
|
if (apiUrl != null) {
|
||||||
|
// BY DIRECT URL
|
||||||
|
// direct links via hardcoded API path. Used for cards with non-ASCII collector numbers
|
||||||
|
if (localizedCode.equals(defaultCode)) {
|
||||||
|
// english only, so can use workaround without loc param (scryfall download first available card)
|
||||||
|
// workaround to use cards without english images (some promos or special cards)
|
||||||
|
needUrls.add(apiUrl);
|
||||||
|
} else {
|
||||||
|
// localize, must use loc params
|
||||||
|
needUrls.add(apiUrl + localizedCode);
|
||||||
|
needUrls.add(apiUrl + defaultCode);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// BY CARD NUMBER
|
||||||
|
// localized and default
|
||||||
needUrls.add("https://api.scryfall.com/cards/"
|
needUrls.add("https://api.scryfall.com/cards/"
|
||||||
+ formatSetName(card.getSet(), isToken) + "/" + card.getCollectorId() + "/" + localizedCode);
|
+ formatSetName(card.getSet(), isToken) + "/" + card.getCollectorId() + "/" + localizedCode);
|
||||||
if (!localizedCode.equals(defaultCode)) {
|
if (!localizedCode.equals(defaultCode)) {
|
||||||
needUrls.add("https://api.scryfall.com/cards/"
|
needUrls.add("https://api.scryfall.com/cards/"
|
||||||
+ formatSetName(card.getSet(), isToken) + "/" + card.getCollectorId() + "/" + defaultCode);
|
+ formatSetName(card.getSet(), isToken) + "/" + card.getCollectorId() + "/" + defaultCode);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
InputStream jsonStream = null;
|
InputStream jsonStream = null;
|
||||||
String jsonUrl = null;
|
String jsonUrl = null;
|
||||||
|
|
|
@ -523,6 +523,7 @@ public class ScryfallImageSupportCards {
|
||||||
|
|
||||||
// Cards with non-ASCII collector numbers must use direct download (cause xmage uses different card number)
|
// Cards with non-ASCII collector numbers must use direct download (cause xmage uses different card number)
|
||||||
// Verify checks must check and show missing data from that list
|
// Verify checks must check and show missing data from that list
|
||||||
|
// WARNING, must use as API link, not image
|
||||||
// 10E
|
// 10E
|
||||||
put("10E/Air Elemental/64*", "https://api.scryfall.com/cards/10e/64★/");
|
put("10E/Air Elemental/64*", "https://api.scryfall.com/cards/10e/64★/");
|
||||||
put("10E/Anaba Bodyguard/187*", "https://api.scryfall.com/cards/10e/187★/");
|
put("10E/Anaba Bodyguard/187*", "https://api.scryfall.com/cards/10e/187★/");
|
||||||
|
|
|
@ -37,7 +37,7 @@ public final class Portal extends ExpansionSet {
|
||||||
cards.add(new SetCardInfo("Armageddon", 5, Rarity.RARE, mage.cards.a.Armageddon.class));
|
cards.add(new SetCardInfo("Armageddon", 5, Rarity.RARE, mage.cards.a.Armageddon.class));
|
||||||
cards.add(new SetCardInfo("Armored Pegasus", 6, Rarity.COMMON, mage.cards.a.ArmoredPegasus.class));
|
cards.add(new SetCardInfo("Armored Pegasus", 6, Rarity.COMMON, mage.cards.a.ArmoredPegasus.class));
|
||||||
cards.add(new SetCardInfo("Arrogant Vampire", 79, Rarity.UNCOMMON, mage.cards.a.ArrogantVampire.class));
|
cards.add(new SetCardInfo("Arrogant Vampire", 79, Rarity.UNCOMMON, mage.cards.a.ArrogantVampire.class));
|
||||||
cards.add(new SetCardInfo("Assassin's Blade", "80a", Rarity.COMMON, mage.cards.a.AssassinsBlade.class, NON_FULL_USE_VARIOUS));
|
cards.add(new SetCardInfo("Assassin's Blade", "80s", Rarity.COMMON, mage.cards.a.AssassinsBlade.class, NON_FULL_USE_VARIOUS));
|
||||||
cards.add(new SetCardInfo("Assassin's Blade", 80, Rarity.UNCOMMON, mage.cards.a.AssassinsBlade.class, NON_FULL_USE_VARIOUS));
|
cards.add(new SetCardInfo("Assassin's Blade", 80, Rarity.UNCOMMON, mage.cards.a.AssassinsBlade.class, NON_FULL_USE_VARIOUS));
|
||||||
cards.add(new SetCardInfo("Balance of Power", 41, Rarity.RARE, mage.cards.b.BalanceOfPower.class));
|
cards.add(new SetCardInfo("Balance of Power", 41, Rarity.RARE, mage.cards.b.BalanceOfPower.class));
|
||||||
cards.add(new SetCardInfo("Baleful Stare", 42, Rarity.UNCOMMON, mage.cards.b.BalefulStare.class));
|
cards.add(new SetCardInfo("Baleful Stare", 42, Rarity.UNCOMMON, mage.cards.b.BalefulStare.class));
|
||||||
|
|
Loading…
Reference in a new issue