From 141ed4bf37d7c01437f4873adc213b5c9e798894 Mon Sep 17 00:00:00 2001 From: Mike Phares Date: Sat, 24 Jun 2023 22:03:03 -0700 Subject: [PATCH] nef Support --- .kanbn/tasks/import-know-faces-into-db.md | 7 ++++ Compare/appsettings.Development.json | 8 +++-- Compare/appsettings.json | 4 ++- Copy-Distinct/appsettings.json | 8 +++-- Date-Group/appsettings.json | 8 +++-- Delete-By-Distinct/appsettings.json | 8 +++-- Delete-By-Relative/appsettings.json | 8 +++-- Duplicate-Search/appsettings.json | 8 +++-- Instance/appsettings.json | 8 +++-- Move-By-Id/appsettings.json | 8 +++-- Person/appsettings.json | 16 ++++++--- PrepareForOld/appsettings.Development.json | 8 +++-- Rename/Rename.cs | 38 +++++++++++++++++++--- Rename/appsettings.json | 8 +++-- 14 files changed, 115 insertions(+), 30 deletions(-) diff --git a/.kanbn/tasks/import-know-faces-into-db.md b/.kanbn/tasks/import-know-faces-into-db.md index 42a5e69..e2db065 100644 --- a/.kanbn/tasks/import-know-faces-into-db.md +++ b/.kanbn/tasks/import-know-faces-into-db.md @@ -19,6 +19,13 @@ docker compose exec photoprism photoprism backup -i -f docker compose exec photoprism photoprism restore -i -f ``` +- After changes to code: + - 50 ~230 and still has wrong + - 66 198 and still has wrong + - 75 145 and still has wrong + - 85 81 and still has wrong (Bodhi and Hudson) + - 90 50 and still has wrong (Chelsea and Hudson) + ## Sub-tasks - [x] Backup DB diff --git a/Compare/appsettings.Development.json b/Compare/appsettings.Development.json index cd34d5b..6ecb5d7 100644 --- a/Compare/appsettings.Development.json +++ b/Compare/appsettings.Development.json @@ -116,7 +116,9 @@ ".png", ".PNG", ".tiff", - ".TIFF" + ".TIFF", + ".tif", + ".TIF" ], "ValidMetadataExtensions": [ ".3gp", @@ -144,7 +146,9 @@ ".png", ".PNG", ".tiff", - ".TIFF" + ".TIFF", + ".tif", + ".TIF" ], "VerifyToSeason": [ ". 2000", diff --git a/Compare/appsettings.json b/Compare/appsettings.json index c59f23b..3920cfe 100644 --- a/Compare/appsettings.json +++ b/Compare/appsettings.json @@ -118,7 +118,9 @@ ".png", ".PNG", ".tiff", - ".TIFF" + ".TIFF", + ".tif", + ".TIF" ], "ValidMetadataExtensions": [ ".3gp", diff --git a/Copy-Distinct/appsettings.json b/Copy-Distinct/appsettings.json index 7728b8e..f0ec745 100644 --- a/Copy-Distinct/appsettings.json +++ b/Copy-Distinct/appsettings.json @@ -89,7 +89,9 @@ ".png", ".PNG", ".tiff", - ".TIFF" + ".TIFF", + ".tif", + ".TIF" ], "ValidMetadataExtensions": [ ".3gp", @@ -117,7 +119,9 @@ ".png", ".PNG", ".tiff", - ".TIFF" + ".TIFF", + ".tif", + ".TIF" ] } } diff --git a/Date-Group/appsettings.json b/Date-Group/appsettings.json index e69bb92..e1fc0b4 100644 --- a/Date-Group/appsettings.json +++ b/Date-Group/appsettings.json @@ -90,7 +90,9 @@ ".png", ".PNG", ".tiff", - ".TIFF" + ".TIFF", + ".tif", + ".TIF" ], "ValidMetadataExtensions": [ ".3gp", @@ -118,7 +120,9 @@ ".png", ".PNG", ".tiff", - ".TIFF" + ".TIFF", + ".tif", + ".TIF" ], "VerifyToSeason": [ ". 2000", diff --git a/Delete-By-Distinct/appsettings.json b/Delete-By-Distinct/appsettings.json index d5592fb..96b08fd 100644 --- a/Delete-By-Distinct/appsettings.json +++ b/Delete-By-Distinct/appsettings.json @@ -91,7 +91,9 @@ ".png", ".PNG", ".tiff", - ".TIFF" + ".TIFF", + ".tif", + ".TIF" ], "ValidMetadataExtensions": [ ".3gp", @@ -119,7 +121,9 @@ ".png", ".PNG", ".tiff", - ".TIFF" + ".TIFF", + ".tif", + ".TIF" ] } } diff --git a/Delete-By-Relative/appsettings.json b/Delete-By-Relative/appsettings.json index d0e1ad8..64b4ba3 100644 --- a/Delete-By-Relative/appsettings.json +++ b/Delete-By-Relative/appsettings.json @@ -86,7 +86,9 @@ ".png", ".PNG", ".tiff", - ".TIFF" + ".TIFF", + ".tif", + ".TIF" ], "ValidMetadataExtensions": [ ".3gp", @@ -114,7 +116,9 @@ ".png", ".PNG", ".tiff", - ".TIFF" + ".TIFF", + ".tif", + ".TIF" ] } } diff --git a/Duplicate-Search/appsettings.json b/Duplicate-Search/appsettings.json index 2640b31..f00a5b6 100644 --- a/Duplicate-Search/appsettings.json +++ b/Duplicate-Search/appsettings.json @@ -88,7 +88,9 @@ ".png", ".PNG", ".tiff", - ".TIFF" + ".TIFF", + ".tif", + ".TIF" ], "ValidMetadataExtensions": [ ".3gp", @@ -116,7 +118,9 @@ ".png", ".PNG", ".tiff", - ".TIFF" + ".TIFF", + ".tif", + ".TIF" ] } } diff --git a/Instance/appsettings.json b/Instance/appsettings.json index 504d6bb..1e6177e 100644 --- a/Instance/appsettings.json +++ b/Instance/appsettings.json @@ -182,7 +182,9 @@ ".png", ".PNG", ".tiff", - ".TIFF" + ".TIFF", + ".tif", + ".TIF" ], "ValidMetadataExtensions": [ ".3gp", @@ -210,7 +212,9 @@ ".png", ".PNG", ".tiff", - ".TIFF" + ".TIFF", + ".tif", + ".TIF" ], "ValidResolutions": [ "Original", diff --git a/Move-By-Id/appsettings.json b/Move-By-Id/appsettings.json index 73682af..258e068 100644 --- a/Move-By-Id/appsettings.json +++ b/Move-By-Id/appsettings.json @@ -89,7 +89,9 @@ ".png", ".PNG", ".tiff", - ".TIFF" + ".TIFF", + ".tif", + ".TIF" ], "ValidMetadataExtensions": [ ".3gp", @@ -117,7 +119,9 @@ ".png", ".PNG", ".tiff", - ".TIFF" + ".TIFF", + ".tif", + ".TIF" ] } } diff --git a/Person/appsettings.json b/Person/appsettings.json index b6fb5d6..a9bdb08 100644 --- a/Person/appsettings.json +++ b/Person/appsettings.json @@ -39,7 +39,9 @@ ".png", ".PNG", ".tiff", - ".TIFF" + ".TIFF", + ".tif", + ".TIF" ], "ValidMetadataExtensions": [ ".3gp", @@ -67,7 +69,9 @@ ".png", ".PNG", ".tiff", - ".TIFF" + ".TIFF", + ".tif", + ".TIF" ] } }, @@ -156,7 +160,9 @@ ".png", ".PNG", ".tiff", - ".TIFF" + ".TIFF", + ".tif", + ".TIF" ], "ValidMetadataExtensions": [ ".3gp", @@ -184,7 +190,9 @@ ".png", ".PNG", ".tiff", - ".TIFF" + ".TIFF", + ".tif", + ".TIF" ] } }, diff --git a/PrepareForOld/appsettings.Development.json b/PrepareForOld/appsettings.Development.json index 5a40cbe..a3b9413 100644 --- a/PrepareForOld/appsettings.Development.json +++ b/PrepareForOld/appsettings.Development.json @@ -107,7 +107,9 @@ ".png", ".PNG", ".tiff", - ".TIFF" + ".TIFF", + ".tif", + ".TIF" ], "ValidMetadataExtensions": [ ".3gp", @@ -135,7 +137,9 @@ ".png", ".PNG", ".tiff", - ".TIFF" + ".TIFF", + ".tif", + ".TIF" ], "VerifyToSeason": [ ". 2000", diff --git a/Rename/Rename.cs b/Rename/Rename.cs index f6810b4..0a45075 100644 --- a/Rename/Rename.cs +++ b/Rename/Rename.cs @@ -144,7 +144,7 @@ public class Rename return results; } - private List<(FileHolder, string, string)> GetToDoCollection(ProgressBar progressBar, string[] files) + private List<(FileHolder, string, string)> GetToDoCollection(ProgressBar progressBar, string[] files, bool nefPresent) { List<(FileHolder, string, string)> results = new(); int? id; @@ -192,6 +192,10 @@ public class Rename continue; distinct.Add(checkFile); results.Add(new(fileHolder, directory, checkFile)); + if (nefPresent) + results.Add(new(new($"{fileHolder.FullName[..^4]}.tif"), directory, $"{checkFile[..^4]}.tif")); + if (nefPresent) + results.Add(new(new($"{fileHolder.FullName[..^4]}.nef"), directory, $"{checkFile[..^4]}.nef")); continue; } if (file.EndsWith(".jpg.del")) @@ -203,6 +207,10 @@ public class Rename continue; distinct.Add(checkFile); results.Add(new(fileHolder, directory, checkFile)); + if (nefPresent) + results.Add(new(new($"{fileHolder.FullName[..^4]}.tif"), directory, $"{checkFile[..^4]}.tif")); + if (nefPresent) + results.Add(new(new($"{fileHolder.FullName[..^4]}.nef"), directory, $"{checkFile[..^4]}.nef")); continue; } if (fileHolder.ExtensionLowered == ".id" || fileHolder.ExtensionLowered == ".lsv" || fileHolder.DirectoryName is null) @@ -261,6 +269,10 @@ public class Rename continue; distinct.Add(checkFile); results.Add(new(fileHolder, directory, checkFile)); + if (nefPresent) + results.Add(new(new($"{fileHolder.FullName[..^4]}.tif"), directory, $"{checkFile[..^4]}.tif")); + if (nefPresent) + results.Add(new(new($"{fileHolder.FullName[..^4]}.nef"), directory, $"{checkFile[..^4]}.nef")); if (File.Exists(checkFile)) continue; File.Move(fileHolder.FullName, checkFile); @@ -307,7 +319,7 @@ public class Rename (season, seasonName) = Shared.Models.Stateless.Methods.IProperty.GetSeason(dateTime.DayOfYear); seasonDirectory = Path.Combine(fileHolder.DirectoryName, $"{dateTime.Year}.{season} {seasonName}"); } - if (seasonDirectory is null || isWrongYear is null || isWrongYear.Value) + if (seasonDirectory is null || (isWrongYear is not null && isWrongYear.Value)) { if (metadataMinimumDateTime is null) break; @@ -319,6 +331,10 @@ public class Rename continue; distinct.Add(checkFile); results.Add(new(fileHolder, directory, checkFile)); + if (nefPresent) + results.Add(new(new($"{fileHolder.FullName[..^4]}.tif"), directory, $"{checkFile[..^4]}.tif")); + if (nefPresent) + results.Add(new(new($"{fileHolder.FullName[..^4]}.nef"), directory, $"{checkFile[..^4]}.nef")); if (ffmpegFiles is not null) { foreach (string ffmpegFile in ffmpegFiles) @@ -349,6 +365,10 @@ public class Rename continue; distinct.Add(checkFile); results.Add(new(fileHolder, seasonDirectory, checkFile)); + if (nefPresent) + results.Add(new(new($"{fileHolder.FullName[..^4]}.tif"), seasonDirectory, $"{checkFile[..^4]}.tif")); + if (nefPresent) + results.Add(new(new($"{fileHolder.FullName[..^4]}.nef"), seasonDirectory, $"{checkFile[..^4]}.nef")); } } return results; @@ -459,6 +479,7 @@ public class Rename List results = new(); string[] files; string message; + bool nefPresent; List allFiles; ProgressBar progressBar; List distinctDirectories = new(); @@ -478,10 +499,17 @@ public class Rename progressBar = new(files.Length, message, options); if (!files.Any()) continue; - if (!_AppSettings.RenameUndo) - toDoCollection = GetToDoCollection(progressBar, files); - else + if (_AppSettings.RenameUndo) toDoCollection = GetRenameUndoToDoCollection(progressBar, files); + else + { + nefPresent = files.Any(l => l.EndsWith(".NEF")); + if (nefPresent) + files = (from l in files where l.EndsWith(".JPG") select l).ToArray(); + if (!files.Any()) + continue; + toDoCollection = GetToDoCollection(progressBar, files, nefPresent); + } verifiedToDoCollection = new(); foreach ((FileHolder fileHolder, string directory, string to) in toDoCollection) { diff --git a/Rename/appsettings.json b/Rename/appsettings.json index 7505b59..28bca43 100644 --- a/Rename/appsettings.json +++ b/Rename/appsettings.json @@ -89,7 +89,9 @@ ".png", ".PNG", ".tiff", - ".TIFF" + ".TIFF", + ".tif", + ".TIF" ], "ValidMetadataExtensions": [ ".3gp", @@ -117,7 +119,9 @@ ".png", ".PNG", ".tiff", - ".TIFF" + ".TIFF", + ".tif", + ".TIF" ] } }