From a190f31ac5efb81102a7d184f19b73db1c6f5c30 Mon Sep 17 00:00:00 2001 From: Michael Green <84688932+michael-j-green@users.noreply.github.com> Date: Sat, 14 Oct 2023 15:41:36 +1100 Subject: [PATCH] Duplicate imported files are now sent to a duplicates folder --- gaseous-server/Classes/ImportGames.cs | 9 ++++++-- gaseous-tools/Config.cs | 30 ++++++++++++++++++++------- 2 files changed, 30 insertions(+), 9 deletions(-) diff --git a/gaseous-server/Classes/ImportGames.cs b/gaseous-server/Classes/ImportGames.cs index 1eb2200..0124cd3 100644 --- a/gaseous-server/Classes/ImportGames.cs +++ b/gaseous-server/Classes/ImportGames.cs @@ -66,9 +66,14 @@ namespace gaseous_server.Classes DataTable importDB = db.ExecuteCMD(sql, dbDict); if ((Int64)importDB.Rows[0]["count"] > 0) { - if (!GameFileImportPath.StartsWith(Config.LibraryConfiguration.LibraryImportDirectory)) + if (GameFileImportPath.StartsWith(Config.LibraryConfiguration.LibraryImportDirectory)) { - Logging.Log(Logging.LogType.Warning, "Import Game", " " + GameFileImportPath + " already in database - skipping"); + Logging.Log(Logging.LogType.Warning, "Import Game", " " + GameFileImportPath + " already in database - moving to " + Config.LibraryConfiguration.LibraryImportDuplicatesDirectory); + if (!Directory.Exists(Config.LibraryConfiguration.LibraryImportDuplicatesDirectory)) + { + Directory.CreateDirectory(Config.LibraryConfiguration.LibraryImportDuplicatesDirectory); + } + File.Move(GameFileImportPath, Path.Combine(Config.LibraryConfiguration.LibraryImportDuplicatesDirectory, Path.GetFileName(GameFileImportPath)), true); } } else diff --git a/gaseous-tools/Config.cs b/gaseous-tools/Config.cs index 51a2071..8043d1f 100644 --- a/gaseous-tools/Config.cs +++ b/gaseous-tools/Config.cs @@ -346,13 +346,29 @@ namespace gaseous_tools } } - // public string LibraryDataDirectory - // { - // get - // { - // return Path.Combine(LibraryRootDirectory, "Library"); - // } - // } + public string LibraryImportErrorDirectory + { + get + { + return Path.Combine(LibraryRootDirectory, "Import Errors"); + } + } + + public string LibraryImportDuplicatesDirectory + { + get + { + return Path.Combine(LibraryImportErrorDirectory, "Duplicates"); + } + } + + public string LibraryImportGeneralErrorDirectory + { + get + { + return Path.Combine(LibraryImportErrorDirectory, "Error"); + } + } public string LibraryBIOSDirectory {