Encode collector number + fallback

This commit is contained in:
Eradev
2025-07-07 00:05:37 -04:00
parent 8c06aab7b3
commit cadc39699d

View File

@@ -9,6 +9,8 @@ import forge.item.IPaperCard;
import forge.item.PaperCard;
import org.apache.commons.lang3.StringUtils;
import java.net.URLEncoder;
public class ImageUtil {
public static float getNearestHQSize(float baseSize, float actualSize) {
//get nearest power of actualSize to baseSize so that the image renders good
@@ -100,7 +102,7 @@ public class ImageUtil {
if (includeSet) {
String editionAliased = isDownloadUrl ? StaticData.instance().getEditions().getCode2ByCode(edition) : ImageKeys.getSetFolder(edition);
if (editionAliased == "") //FIXME: Custom Cards Workaround
if (editionAliased.isEmpty()) //FIXME: Custom Cards Workaround
editionAliased = edition;
return TextUtil.concatNoSpace(editionAliased, "/", fname);
} else {
@@ -164,7 +166,7 @@ public class ImageUtil {
public static String getScryfallDownloadUrl(PaperCard cp, String face, String setCode, String langCode, boolean useArtCrop, boolean hyphenateAlchemy){
String editionCode;
if ((setCode != null) && (setCode.length() > 0))
if (setCode != null && !setCode.isEmpty())
editionCode = setCode;
else
editionCode = cp.getEdition().toLowerCase();
@@ -199,7 +201,17 @@ public class ImageUtil {
// Hanweir Garrison EMN already has a appended.
cardCollectorNumber += face.equals("back") ? "b" : "a";
}
return String.format("%s/%s/%s?format=image&version=%s%s", editionCode, cardCollectorNumber,
String cardCollectorNumberEncoded;
try {
cardCollectorNumberEncoded = URLEncoder.encode(cardCollectorNumber, "UTF-8");
} catch (Exception e) {
// Unlikely, for the possibility that "UTF-8" is not supported.
System.err.println("UTF-8 encoding not supported on this device.");
cardCollectorNumberEncoded = cardCollectorNumber;
}
return String.format("%s/%s/%s?format=image&version=%s%s", editionCode, cardCollectorNumberEncoded,
langCode, versionParam, faceParam);
}