* UI: fixed wrong deck import from cubes and other sources without cards amount;

This commit is contained in:
Oleg Agafonov 2019-07-01 12:40:34 +04:00
parent 7f9e2595f7
commit e3f5071738

View file

@ -55,8 +55,13 @@ public class TxtDeckImporter extends PlainTextDeckImporter {
line = line.substring(0, commentDelim).trim(); line = line.substring(0, commentDelim).trim();
} }
// ignore all empty lines until real cards starts
if (line.isEmpty() && !wasCardLines) {
return;
}
// switch sideboard by empty line // switch sideboard by empty line
if (switchSideboardByEmptyLine && line.isEmpty() && wasCardLines) { if (switchSideboardByEmptyLine && line.isEmpty()) {
if (!sideboard) { if (!sideboard) {
sideboard = true; sideboard = true;
} else { } else {
@ -77,18 +82,18 @@ public class TxtDeckImporter extends PlainTextDeckImporter {
line = line.replace("\t", " "); // changing tabs to blanks as delimiter line = line.replace("\t", " "); // changing tabs to blanks as delimiter
int delim = line.indexOf(' '); int delim = line.indexOf(' ');
if (delim < 0) { String lineNum = "";
return; if (delim > 0) {
} lineNum = line.substring(0, delim).trim();
String lineNum = line.substring(0, delim).trim();
if (IGNORE_NAMES.contains(lineNum)) { if (IGNORE_NAMES.contains(lineNum)) {
return; return;
} }
}
// amount // amount
int cardAmount = 0; int cardAmount = 0;
boolean haveCardAmout; boolean haveCardAmout = false;
if (!lineNum.isEmpty()) {
try { try {
cardAmount = Integer.parseInt(lineNum.replaceAll("\\D+", "")); cardAmount = Integer.parseInt(lineNum.replaceAll("\\D+", ""));
if ((cardAmount <= 0) || (cardAmount >= 100)) { if ((cardAmount <= 0) || (cardAmount >= 100)) {
@ -97,9 +102,8 @@ public class TxtDeckImporter extends PlainTextDeckImporter {
} }
haveCardAmout = true; haveCardAmout = true;
} catch (NumberFormatException nfe) { } catch (NumberFormatException nfe) {
haveCardAmout = false; // card without amount
//sbMessage.append("Invalid number: ").append(lineNum).append(" at line ").append(lineCount).append('\n'); }
//return;
} }
String lineName; String lineName;