diff --git a/Distance/Models/_E_Distance.cs b/Distance/Models/_E_Distance.cs index 77cae4e..49894ad 100644 --- a/Distance/Models/_E_Distance.cs +++ b/Distance/Models/_E_Distance.cs @@ -18,11 +18,10 @@ public partial class E_Distance private readonly double[] _RangeFaceConfidence; private readonly bool _DistanceMoveUnableToMatch; private readonly List _AllMappedFaceFiles; - private readonly double[] _RangeDistanceTolerance; private readonly List _AllMappedFaceFileNames; private readonly List _DuplicateMappedFaceFiles; - public E_Distance(bool distanceMoveUnableToMatch, bool distanceRenameToMatch, int faceConfidencePercent, double[] rangeDistanceTolerance, double[] rangeFaceConfidence) + public E_Distance(bool distanceMoveUnableToMatch, bool distanceRenameToMatch, int faceConfidencePercent, double[] rangeFaceConfidence) { _Debug = new(); _Moved = new(); @@ -34,7 +33,6 @@ public partial class E_Distance _Log = Serilog.Log.ForContext(); _DistanceRenameToMatch = distanceRenameToMatch; _FaceConfidencePercent = faceConfidencePercent; - _RangeDistanceTolerance = rangeDistanceTolerance; _DistanceMoveUnableToMatch = distanceMoveUnableToMatch; } diff --git a/Instance/DlibDotNet.cs b/Instance/DlibDotNet.cs index 67694f2..de4c275 100644 --- a/Instance/DlibDotNet.cs +++ b/Instance/DlibDotNet.cs @@ -99,7 +99,7 @@ public partial class DlibDotNet _FaceParts = new D2_FaceParts(imageCodecInfo, encoderParameters, filenameExtension, configuration.CheckDFaceAndUpWriteDates, configuration.OverrideForFaceLandmarkImages); } _MapConfiguration = Get(configuration, _Faces.FileNameExtension, _Faces.HiddenFileNameExtension, _FaceParts.FileNameExtension); - _Distance = new(configuration.DistanceMoveUnableToMatch, configuration.DistanceRenameToMatch, _Configuration.FaceConfidencePercent, configuration.RangeDistanceTolerance, configuration.RangeFaceConfidence); + _Distance = new(configuration.DistanceMoveUnableToMatch, configuration.DistanceRenameToMatch, _Configuration.FaceConfidencePercent, configuration.RangeFaceConfidence); if (_PropertyRootExistedBefore || !_ArgZeroIsConfigurationRootDirectory) _PersonContainers = Array.Empty(); else diff --git a/Map/Models/MapLogic.cs b/Map/Models/MapLogic.cs index 99c6847..c51d2af 100644 --- a/Map/Models/MapLogic.cs +++ b/Map/Models/MapLogic.cs @@ -1090,6 +1090,7 @@ public class MapLogic : Shared.Models.Methods.IMapLogic long personKey; string fileName; string directory; + string directoryName; List? personKeys; string personKeyFormatted; IReadOnlyList directories; @@ -1109,10 +1110,11 @@ public class MapLogic : Shared.Models.Methods.IMapLogic directories = MetadataExtractor.ImageMetadataReader.ReadMetadata(mapping.MappingFromItem.ResizedFileHolder.FullName); } model = Metadata.Models.Stateless.Methods.IMetadata.GetModel(directories); + directoryName = Path.GetFileName(mapping.MappingFromItem.ImageFileHolder.DirectoryName); if (!string.IsNullOrEmpty(model) && !string.IsNullOrEmpty(model.Trim())) { model = Regex.Replace(model, @"[\\,\/,\:,\*,\?,\"",\<,\>,\|]", "_"); - directory = Path.Combine($"{eDistanceContentDirectory}---", "Model Shortcuts", model, Path.GetFileName(mapping.MappingFromItem.ImageFileHolder.DirectoryName)); + directory = Path.Combine($"{eDistanceContentDirectory}---", "Model Shortcuts", model, directoryName); fileName = Path.Combine(directory, $"{mapping.MappingFromItem.ImageFileHolder.Name}.lnk"); results.Add(new(mapping.MappingFromItem.ImageFileHolder.FullName, directory, mapping.MappingFromItem.MinimumDateTime, fileName, mapping.MappingFromLocation.DeterministicHashCodeKey, MakeAllHidden: false)); } @@ -1122,10 +1124,12 @@ public class MapLogic : Shared.Models.Methods.IMapLogic if (!personKeys.Contains(mapping.MappingFromPerson.PersonBirthday.Value.Ticks)) continue; personKeyFormatted = IPersonBirthday.GetFormatted(_Configuration.PersonBirthdayFormat, mapping.MappingFromPerson.PersonBirthday); - directory = Path.Combine($"{eDistanceContentDirectory}---", "Person Key Shortcuts", personKeyFormatted, Path.GetFileName(mapping.MappingFromItem.ImageFileHolder.DirectoryName)); + directory = Path.Combine($"{eDistanceContentDirectory}---", "Person Key Shortcuts", personKeyFormatted, directoryName); fileName = Path.Combine(directory, $"{mapping.MappingFromItem.ImageFileHolder.Name}.lnk"); results.Add(new(mapping.MappingFromItem.ImageFileHolder.FullName, directory, mapping.MappingFromItem.MinimumDateTime, fileName, mapping.MappingFromLocation.DeterministicHashCodeKey, MakeAllHidden: false)); - directory = Path.Combine($"{eDistanceContentDirectory}---", "Name Shortcuts", mapping.MappingFromPerson.DisplayDirectoryName, Path.GetFileName(mapping.MappingFromItem.ImageFileHolder.DirectoryName)); + if (mapping.MappingFromPerson.DisplayDirectoryName.Length > 1 && mapping.MappingFromPerson.DisplayDirectoryName[0] == 'Z' && mapping.MappingFromPerson.DisplayDirectoryName[1] == ']') + continue; + directory = Path.Combine($"{eDistanceContentDirectory}---", "Name Shortcuts", mapping.MappingFromPerson.DisplayDirectoryName, directoryName); fileName = Path.Combine(directory, $"{mapping.MappingFromItem.ImageFileHolder.Name}.lnk"); results.Add(new(mapping.MappingFromItem.ImageFileHolder.FullName, directory, mapping.MappingFromItem.MinimumDateTime, fileName, mapping.MappingFromLocation.DeterministicHashCodeKey, MakeAllHidden: false)); }