From c241dfb8b9d18023685ceb3d1ea4e79d00600bc9 Mon Sep 17 00:00:00 2001 From: Maxmtg Date: Mon, 18 Mar 2013 09:15:34 +0000 Subject: [PATCH] collection of old ungroupped pics has been fixed --- .../forge/gui/MigrationSourceAnalyzer.java | 46 ++++++++----------- 1 file changed, 19 insertions(+), 27 deletions(-) diff --git a/src/main/java/forge/gui/MigrationSourceAnalyzer.java b/src/main/java/forge/gui/MigrationSourceAnalyzer.java index b5898197309..1e3c1c10ac5 100644 --- a/src/main/java/forge/gui/MigrationSourceAnalyzer.java +++ b/src/main/java/forge/gui/MigrationSourceAnalyzer.java @@ -22,7 +22,6 @@ import java.util.HashMap; import java.util.Locale; import java.util.Map; import java.util.TreeMap; - import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.tuple.Pair; @@ -33,6 +32,7 @@ import forge.ImageCache; import forge.Singletons; import forge.card.CardEdition; import forge.card.CardRules; +import forge.card.CardSplitType; import forge.card.EditionCollection; import forge.item.CardDb; import forge.item.CardPrinted; @@ -294,36 +294,27 @@ public class MigrationSourceAnalyzer { } private void _addDefaultPicNames(CardPrinted c, boolean backFace) { - CardRules cardRules = c.getRules(); - String urls = backFace ? cardRules.getPictureOtherSideUrl() : cardRules.getPictureUrl(); + CardRules card = c.getRules(); + String urls = backFace ? card.getPictureOtherSideUrl() : card.getPictureUrl(); if (StringUtils.isEmpty(urls)) { return; } - int numPics = urls.split("\\\\").length; + int numPics = 1 + StringUtils.countMatches(urls, "\\"); if ( c.getArtIndex() >= numPics ) return; - String filename = ImageCache.getImageKey(c, backFace, false) + ".jpg"; - _defaultPicNames.put(filename, filename); + String filenameBase = ImageCache.getImageKey(c, backFace, false); + String filename = filenameBase + ".jpg"; + boolean alreadyHadIt = null != _defaultPicNames.put(filename, filename); + if ( alreadyHadIt ) return; - final String oldFilenameBase; - if (cardRules.getType().isPlane() || cardRules.getType().isPhenomenon()) { - oldFilenameBase = _oldCleanString(filename.replace(".jpg", "")); - } else { - oldFilenameBase = _oldCleanString(filename.replace(".full.jpg", "")); - } - - int maxArtIdx = c.getRules().getEditionInfo(c.getEdition()).getCopiesCount(); - if (1 == maxArtIdx) { - // remove trailing "1" from first art index - String oldFilename = oldFilenameBase.replaceAll("1$", "") + ".jpg"; - _defaultPicOldNameToCurrentName.put(oldFilename, filename); - } else { - // offset art indices by one - String oldFilename = oldFilenameBase.replaceAll("[0-9]+$", String.valueOf(c.getArtIndex())) + ".jpg"; - _defaultPicOldNameToCurrentName.put(oldFilename, filename); - } - + // Do you shift artIndex by one here? + String newLastSymbol = 0 == c.getArtIndex() ? "" : String.valueOf(c.getArtIndex() /* + 1 */); + String oldFilename = _oldCleanString(filenameBase.replaceAll("[0-9]?(\\.full)?$", "")) + newLastSymbol + ".jpg"; + //if ( numPics > 1 ) + //System.out.printf("Will move %s -> %s%n", oldFilename, filename); + _defaultPicOldNameToCurrentName.put(oldFilename, filename); } + private Map _defaultPicNames; private Map _defaultPicOldNameToCurrentName; @@ -334,12 +325,13 @@ public class MigrationSourceAnalyzer { for (CardPrinted c : CardDb.instance().getAllCards()) { _addDefaultPicNames(c, false); - _addDefaultPicNames(c, true); + if ( c.getRules().getSplitType() == CardSplitType.Transform) + _addDefaultPicNames(c, true); } for (CardPrinted c : CardDb.variants().getAllCards()) { _addDefaultPicNames(c, false); - _addDefaultPicNames(c, true); + // variants never have backfaces } } @@ -348,7 +340,7 @@ public class MigrationSourceAnalyzer { if (_defaultPicOldNameToCurrentName.containsKey(filename)) { return _defaultPicOldNameToCurrentName.get(filename); } - return _defaultPicNames.containsKey(filename) ? _defaultPicNames.get(filename) : null; + return _defaultPicNames.get(filename); } @Override public OpType getOpType(String filename) { return OpType.DEFAULT_CARD_PIC; }