diff --git a/package.json b/package.json index 7309a5d..f709fa8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "opt-cc", - "version": "1.9.0", + "version": "1.9.1", "author": "Florian Hartwich ", "private": true, "scripts": { diff --git a/server/tools/log-parse-tool.js b/server/tools/log-parse-tool.js index c28cf9d..4f60397 100644 --- a/server/tools/log-parse-tool.js +++ b/server/tools/log-parse-tool.js @@ -417,7 +417,12 @@ const getBudgetEntry = (budg, warId, warDate) => { const getPlayerInfoFromString = (inputString) => { const resPlayer = {}; - const playerNameRegexMatch = playerNameRegex.exec(inputString); + let playerNameRegexMatch = playerNameRegex.exec(inputString); + + // https://stackoverflow.com/questions/18462784/why-is-javascript-regex-matching-every-second-time + if (!playerNameRegexMatch) { + playerNameRegexMatch = playerNameRegex.exec(inputString); + } const sideMatch = sideRegex.exec(inputString); // SINGLE PLAYER NAME @@ -426,11 +431,11 @@ const getPlayerInfoFromString = (inputString) => { name = playerNameRegexMatch[2].trim(); // do not return player for 'unbekannt' or 'Error: No unit' if (!name || name === 'unbekannt' || name === 'Error: No unit' || name === 'Selbstverschulden.') { - return; + return {name: 'UNKNOWN', fraction: 'NONE'}; } resPlayer.name = name; } else { - return; + return {name: 'UNKNOWN', fraction: 'NONE'}; } // ADDITIONAL PLAYER NAMES