mirror of
https://github.com/correl/mage.git
synced 2024-11-15 11:09:30 +00:00
* Cleanup logs from load svg/gif errors (show total errors instead each symbol)
This commit is contained in:
parent
d5c8d68fa1
commit
3f16a83fd3
1 changed files with 43 additions and 21 deletions
|
@ -37,6 +37,7 @@ import java.util.regex.Pattern;
|
||||||
import java.util.stream.IntStream;
|
import java.util.stream.IntStream;
|
||||||
import javax.imageio.ImageIO;
|
import javax.imageio.ImageIO;
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
|
|
||||||
import mage.cards.repository.ExpansionRepository;
|
import mage.cards.repository.ExpansionRepository;
|
||||||
import mage.client.MageFrame;
|
import mage.client.MageFrame;
|
||||||
import mage.client.constants.Constants;
|
import mage.client.constants.Constants;
|
||||||
|
@ -81,23 +82,25 @@ public final class ManaSymbols {
|
||||||
|
|
||||||
withoutSymbols.add("MPRP");
|
withoutSymbols.add("MPRP");
|
||||||
}
|
}
|
||||||
|
|
||||||
private static final Map<String, Dimension> setImagesExist = new HashMap<>();
|
private static final Map<String, Dimension> setImagesExist = new HashMap<>();
|
||||||
private static final Pattern REPLACE_SYMBOLS_PATTERN = Pattern.compile("\\{([^}/]*)/?([^}]*)\\}");
|
private static final Pattern REPLACE_SYMBOLS_PATTERN = Pattern.compile("\\{([^}/]*)/?([^}]*)\\}");
|
||||||
|
|
||||||
private static final String[] symbols = new String[]{"0", "1", "10", "11", "12", "15", "16", "2", "3", "4", "5", "6", "7", "8", "9",
|
private static final String[] symbols = new String[]{"0", "1", "10", "11", "12", "15", "16", "2", "3", "4", "5", "6", "7", "8", "9",
|
||||||
"B", "BG", "BR", "BP", "2B",
|
"B", "BG", "BR", "BP", "2B",
|
||||||
"G", "GU", "GW", "GP", "2G",
|
"G", "GU", "GW", "GP", "2G",
|
||||||
"R", "RG", "RW", "RP", "2R",
|
"R", "RG", "RW", "RP", "2R",
|
||||||
"S", "T",
|
"S", "T",
|
||||||
"U", "UB", "UR", "UP", "2U",
|
"U", "UB", "UR", "UP", "2U",
|
||||||
"W", "WB", "WU", "WP", "2W",
|
"W", "WB", "WU", "WP", "2W",
|
||||||
"X", "C", "E"};
|
"X", "C", "E"};
|
||||||
|
|
||||||
private static final JLabel labelRender = new JLabel(); // render mana text
|
private static final JLabel labelRender = new JLabel(); // render mana text
|
||||||
|
|
||||||
private static String getSvgPathToCss() {
|
private static String getSvgPathToCss() {
|
||||||
return getImagesDir() + File.separator + "temp" + File.separator + "batic-svg-settings.css";
|
return getImagesDir() + File.separator + "temp" + File.separator + "batic-svg-settings.css";
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void prepareSvg(Boolean forceToCreateCss) {
|
private static void prepareSvg(Boolean forceToCreateCss) {
|
||||||
File f = new File(getSvgPathToCss());
|
File f = new File(getSvgPathToCss());
|
||||||
|
|
||||||
|
@ -123,14 +126,15 @@ public final class ManaSymbols {
|
||||||
w.write(css);
|
w.write(css);
|
||||||
} catch (Throwable e) {
|
} catch (Throwable e) {
|
||||||
LOGGER.error("Can't create css file for svg", e);
|
LOGGER.error("Can't create css file for svg", e);
|
||||||
}
|
} finally {
|
||||||
finally {
|
|
||||||
StreamUtils.closeQuietly(w);
|
StreamUtils.closeQuietly(w);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void loadImages() {
|
public static void loadImages() {
|
||||||
|
LOGGER.info("Loading symbols...");
|
||||||
|
|
||||||
// TODO: delete files rename jpg->gif (it was for backward compatibility for one of the old version?)
|
// TODO: delete files rename jpg->gif (it was for backward compatibility for one of the old version?)
|
||||||
renameSymbols(getResourceSymbolsPath(ResourceSymbolSize.SMALL));
|
renameSymbols(getResourceSymbolsPath(ResourceSymbolSize.SMALL));
|
||||||
renameSymbols(getResourceSymbolsPath(ResourceSymbolSize.MEDIUM));
|
renameSymbols(getResourceSymbolsPath(ResourceSymbolSize.MEDIUM));
|
||||||
|
@ -221,7 +225,7 @@ public final class ManaSymbols {
|
||||||
String pathRoot = getResourceSetsPath(ResourceSetSize.SMALL) + set;
|
String pathRoot = getResourceSetsPath(ResourceSetSize.SMALL) + set;
|
||||||
for (String code : codes) {
|
for (String code : codes) {
|
||||||
File newFile = new File(pathRoot + '-' + code + ".png");
|
File newFile = new File(pathRoot + '-' + code + ".png");
|
||||||
if(!(MageFrame.isSkipSmallSymbolGenerationForExisting() && newFile.exists())){// skip if option enabled and file already exists
|
if (!(MageFrame.isSkipSmallSymbolGenerationForExisting() && newFile.exists())) {// skip if option enabled and file already exists
|
||||||
file = new File(getResourceSetsPath(ResourceSetSize.MEDIUM) + set + '-' + code + ".png");
|
file = new File(getResourceSetsPath(ResourceSetSize.MEDIUM) + set + '-' + code + ".png");
|
||||||
if (file.exists()) {
|
if (file.exists()) {
|
||||||
continue;
|
continue;
|
||||||
|
@ -298,7 +302,7 @@ public final class ManaSymbols {
|
||||||
shadowY = 2 * Math.round(1f / 16f * resizeToHeight);
|
shadowY = 2 * Math.round(1f / 16f * resizeToHeight);
|
||||||
resizeToWidth = resizeToWidth - shadowX;
|
resizeToWidth = resizeToWidth - shadowX;
|
||||||
resizeToHeight = resizeToHeight - shadowY;
|
resizeToHeight = resizeToHeight - shadowY;
|
||||||
};
|
}
|
||||||
|
|
||||||
if (resizeToWidth > 0) {
|
if (resizeToWidth > 0) {
|
||||||
transcoderHints.put(ImageTranscoder.KEY_WIDTH, (float) resizeToWidth); //your image width
|
transcoderHints.put(ImageTranscoder.KEY_WIDTH, (float) resizeToWidth); //your image width
|
||||||
|
@ -453,10 +457,11 @@ public final class ManaSymbols {
|
||||||
// priority: SVG -> GIF
|
// priority: SVG -> GIF
|
||||||
// gif remain for backward compatibility
|
// gif remain for backward compatibility
|
||||||
|
|
||||||
//boolean fileErrors = false;
|
int[] iconErrors = new int[2]; // 0 - svg, 1 - gif
|
||||||
|
|
||||||
AtomicBoolean fileErrors = new AtomicBoolean(false);
|
AtomicBoolean fileErrors = new AtomicBoolean(false);
|
||||||
Map<String, BufferedImage> sizedSymbols = new ConcurrentHashMap<>();
|
Map<String, BufferedImage> sizedSymbols = new ConcurrentHashMap<>();
|
||||||
IntStream.range(0, symbols.length).parallel().forEach(i-> {
|
IntStream.range(0, symbols.length).parallel().forEach(i -> {
|
||||||
String symbol = symbols[i];
|
String symbol = symbols[i];
|
||||||
BufferedImage image = null;
|
BufferedImage image = null;
|
||||||
File file;
|
File file;
|
||||||
|
@ -469,7 +474,8 @@ public final class ManaSymbols {
|
||||||
|
|
||||||
// gif
|
// gif
|
||||||
if (image == null) {
|
if (image == null) {
|
||||||
//LOGGER.info("SVG symbol can't be load: " + file.getPath());
|
|
||||||
|
iconErrors[0] += 1; // svg fail
|
||||||
|
|
||||||
file = getSymbolFileNameAsGIF(symbol, size);
|
file = getSymbolFileNameAsGIF(symbol, size);
|
||||||
if (file.exists()) {
|
if (file.exists()) {
|
||||||
|
@ -481,11 +487,27 @@ public final class ManaSymbols {
|
||||||
if (image != null) {
|
if (image != null) {
|
||||||
sizedSymbols.put(symbol, image);
|
sizedSymbols.put(symbol, image);
|
||||||
} else {
|
} else {
|
||||||
|
iconErrors[1] += 1; // gif fail
|
||||||
fileErrors.set(true);
|
fileErrors.set(true);
|
||||||
LOGGER.warn("SVG or GIF symbol can't be load: " + symbol);
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// total errors
|
||||||
|
String errorInfo = "";
|
||||||
|
if (iconErrors[0] > 0) {
|
||||||
|
errorInfo += "SVG fails - " + iconErrors[0];
|
||||||
|
}
|
||||||
|
if (iconErrors[1] > 0) {
|
||||||
|
if (!errorInfo.isEmpty()) {
|
||||||
|
errorInfo += ", ";
|
||||||
|
}
|
||||||
|
errorInfo += "GIF fails - " + iconErrors[1];
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!errorInfo.isEmpty()) {
|
||||||
|
LOGGER.warn("Symbols can't be load for size " + size + ": " + errorInfo);
|
||||||
|
}
|
||||||
|
|
||||||
manaImages.put(size, sizedSymbols);
|
manaImages.put(size, sizedSymbols);
|
||||||
return !fileErrors.get();
|
return !fileErrors.get();
|
||||||
}
|
}
|
||||||
|
@ -760,7 +782,7 @@ public final class ManaSymbols {
|
||||||
|
|
||||||
replaced = REPLACE_SYMBOLS_PATTERN.matcher(replaced).replaceAll(
|
replaced = REPLACE_SYMBOLS_PATTERN.matcher(replaced).replaceAll(
|
||||||
"<img src='" + filePathToUrl(htmlImagesPath) + "$1$2" + ".png' alt='$1$2' width="
|
"<img src='" + filePathToUrl(htmlImagesPath) + "$1$2" + ".png' alt='$1$2' width="
|
||||||
+ symbolSize + " height=" + symbolSize + '>');
|
+ symbolSize + " height=" + symbolSize + '>');
|
||||||
|
|
||||||
// ignore data restore
|
// ignore data restore
|
||||||
replaced = replaced
|
replaced = replaced
|
||||||
|
|
Loading…
Reference in a new issue