From 20ea0ba76fffc789a08c8d8e1e8be92d175029c5 Mon Sep 17 00:00:00 2001 From: North Date: Wed, 12 Sep 2012 00:44:26 +0300 Subject: [PATCH] Fixed support for HQ archives (inconsistent capitalization) --- .../plugins/card/utils/CardImageUtils.java | 36 +++++++------------ 1 file changed, 12 insertions(+), 24 deletions(-) diff --git a/Mage.Client/src/main/java/org/mage/plugins/card/utils/CardImageUtils.java b/Mage.Client/src/main/java/org/mage/plugins/card/utils/CardImageUtils.java index daf69e53a4b..a1d48d6d0b6 100644 --- a/Mage.Client/src/main/java/org/mage/plugins/card/utils/CardImageUtils.java +++ b/Mage.Client/src/main/java/org/mage/plugins/card/utils/CardImageUtils.java @@ -112,38 +112,26 @@ public class CardImageUtils { public static String getImagePath(CardInfo card, String imagesPath) { String imageDir = getImageDir(card, imagesPath); + String imageName; + String type = card.getType() != 0 ? " " + Integer.toString(card.getType()) : ""; String name = card.getName(); - String path, capitalizedPath; if (basicLandPattern.matcher(name).matches()) { - path = imageDir + TFile.separator + name + "." + card.getCollectorId() + ".full.jpg"; - capitalizedPath = imageDir + TFile.separator + capitalize(name) + "." + card.getCollectorId() + ".full.jpg"; - + imageName = name + "." + card.getCollectorId() + ".full.jpg"; } else { - path = imageDir + TFile.separator + name + type + ".full.jpg"; - capitalizedPath = imageDir + TFile.separator + capitalize(name) + type + ".full.jpg"; + imageName = name + type + ".full.jpg"; } - return new TFile(capitalizedPath).exists() ? capitalizedPath : path; - } - - private static String capitalize(String str) { - int delimLen = -1; - if (str.isEmpty() || delimLen == 0) { - return str; - } - char[] buffer = str.toCharArray(); - boolean capitalizeNext = true; - for (int i = 0; i < buffer.length; i++) { - char ch = buffer[i]; - if (Character.isWhitespace(ch)) { - capitalizeNext = true; - } else if (capitalizeNext) { - buffer[i] = Character.toTitleCase(ch); - capitalizeNext = false; + if (new TFile(imageDir).exists() && !new TFile(imageDir + TFile.separator + imageName).exists()) { + for (String fileName : new TFile(imageDir).list()) { + if (fileName.toLowerCase().equals(imageName.toLowerCase())) { + imageName = fileName; + break; + } } } - return new String(buffer); + + return imageDir + TFile.separator + imageName; } }