From 41aac241128057e1e8b7e52d86b6d5838bd98054 Mon Sep 17 00:00:00 2001 From: lantzelot-swe <75668734+lantzelot-swe@users.noreply.github.com> Date: Thu, 3 Aug 2023 10:58:47 +0200 Subject: [PATCH] fix: import from gamebase - The created gamelist views are stripped of invalid chars (e.g. ') which caused an error in the db when reading the view. - Empty genres are not created as gamelist views during import. --- .../se/lantz/gui/imports/GamebaseImportWorker.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/main/java/se/lantz/gui/imports/GamebaseImportWorker.java b/src/main/java/se/lantz/gui/imports/GamebaseImportWorker.java index 47ba2e7..635a45f 100644 --- a/src/main/java/se/lantz/gui/imports/GamebaseImportWorker.java +++ b/src/main/java/se/lantz/gui/imports/GamebaseImportWorker.java @@ -41,8 +41,8 @@ public class GamebaseImportWorker extends AbstractImportWorker counter++; this.gbInporter.setGenreOption(genre); publish("Processing games for " + genre.getGenreName()); - importManager.setViewTag(genre.getGenreName()); String viewName = getViewName(genre); + importManager.setViewTag(viewName); importManager.setViewName(viewName); String additonalInfo = ", genre: " + genre.getGenreName() + " (" + counter + " of " + numberOfGenres + ")"; int processedForGenre = executeImport(additonalInfo); @@ -94,6 +94,7 @@ public class GamebaseImportWorker extends AbstractImportWorker newName = newName.replaceAll(" - ", "/"); newName = newName.replace("[", ""); newName = newName.replace("]", ""); + newName = newName.replace("'", ""); if (newName.startsWith("/")) { newName = newName.substring(1); @@ -160,8 +161,11 @@ public class GamebaseImportWorker extends AbstractImportWorker publish(importManager.insertRowsIntoDb(copyList, 0).toString()); importManager.copyFiles(true, copyList, this); } - //Create game view if view tag is defined - importManager.createGameViewForViewTag(this); + //Create game view if view tag is defined and processed games are not empty + if (!dbRowReadChunks.isEmpty()) + { + importManager.createGameViewForViewTag(this); + } return importManager.clearAfterImport(); }