LocationContainerDirectoryPattern

This commit is contained in:
2023-09-10 00:20:01 -07:00
parent 4b8b942528
commit 5633430bfb
14 changed files with 659 additions and 609 deletions

@ -21,7 +21,7 @@ public partial class MapLogic : Shared.Models.Methods.IMapLogic
internal record Record(string? DebugDirectory,
string? Directory,
long? Ticks,
string PersonDirectory);
string? PersonDirectory);
public void SaveContainers(int? updated, List<SaveContainer> saveContainers)
{
@ -263,7 +263,7 @@ public partial class MapLogic : Shared.Models.Methods.IMapLogic
readOnlyPersonKeyFormattedCollection = new(personKeyFormattedCollection);
readOnlyPersonKeyFormattedToNewestPersonKeyFormatted = new(personKeyFormattedToNewestPersonKeyFormatted);
}
List<Stateless.MapLogic.Record> records = Stateless.MapLogic.DeleteEmptyDirectoriesAndGetCollection(configuration, ticks, eDistanceContentDirectory, readOnlyPersonKeyFormattedToNewestPersonKeyFormatted, readOnlyPersonKeyFormattedCollection);
List<Stateless.Record> records = Stateless.DistanceLogic.DeleteEmptyDirectoriesAndGetCollection(configuration, ticks, eDistanceContentDirectory, readOnlyPersonKeyFormattedToNewestPersonKeyFormatted, readOnlyPersonKeyFormattedCollection);
ReadOnlyCollection<(Stateless.MapLogic.PersonKeyFormattedIdThenWholePercentages, PersonContainer)> readOnlyPossiblyNewPersonDisplayDirectoryNamesAndPersonContainer;
ReadOnlyCollection<Stateless.MapLogic.PersonKeyFormattedIdThenWholePercentages> personKeyFormattedIdThenWholePercentagesCollection = Stateless.MapLogic.GetPersonKeyFormattedIdThenWholePercentages(configuration, ticks, records);
//
@ -509,12 +509,12 @@ public partial class MapLogic : Shared.Models.Methods.IMapLogic
long? ticks;
string? directory;
string? debugDirectory;
string personDirectory;
string? personDirectory;
if (question.MappingFromPerson is null)
{
debugDirectory = null;
(ticks, directory) = GetDirectory(configuration, saveIndividually, padLeft, question.SegmentC, by, question.MappingFromItem);
personDirectory = directory is null ? string.Empty : Path.Combine(directory, $"X+{ticks}");
personDirectory = directory is null ? null : Path.Combine(directory, $"X+{ticks}");
}
else
{
@ -551,6 +551,7 @@ public partial class MapLogic : Shared.Models.Methods.IMapLogic
FileHolder faceFileHolder;
string facePartsDirectory;
SaveContainer? saveContainer;
int? distancePermyriad = null;
FileHolder facePartsFileHolder;
FileHolder hiddenFaceFileHolder;
ReadOnlyDictionary<int, Mapping>? wholePercentagesToMapping;
@ -570,7 +571,7 @@ public partial class MapLogic : Shared.Models.Methods.IMapLogic
continue;
if (mapping.MappingFromFilterPost.IsFocusPerson is not null && !mapping.MappingFromFilterPost.IsFocusPerson.Value)
continue;
(by, isByMapping, isBySorting) = Stateless.MapLogic.Get(useFiltersCounter, saveIndividually, sortingContainersAny, forceSingleImageHumanized, mapping);
(by, isByMapping, isBySorting) = Stateless.MapLogic.Get(useFiltersCounter, saveIndividually, sortingContainersAny, forceSingleImageHumanized, distancePermyriad, mapping);
if (isByMapping && !saveMapped)
continue;
if (!isBySorting || mapping.SortingContainer is null)
@ -586,8 +587,8 @@ public partial class MapLogic : Shared.Models.Methods.IMapLogic
continue;
}
record = Get(_Configuration, saveIndividually, by, mapping, padLeft);
if (string.IsNullOrEmpty(record.Directory))
throw new NotSupportedException();
if (string.IsNullOrEmpty(record.Directory) || string.IsNullOrEmpty(record.PersonDirectory))
continue;
directory = record.Directory;
if (mapping.MappingFromPerson is not null)
{
@ -736,7 +737,7 @@ public partial class MapLogic : Shared.Models.Methods.IMapLogic
foreach (SortingContainer sortingContainer in sortingContainers)
{
if (sortingContainer.Question is null)
throw new NotSupportedException();
continue;
if (sortingContainer.Source.MappingFromPerson is null)
{
sortingContainer.Question.UpdateMappingFromUnknownPerson(_Configuration.SaveIndividually, sortingContainer);
@ -788,6 +789,7 @@ public partial class MapLogic : Shared.Models.Methods.IMapLogic
SaveContainer? saveContainer;
FileHolder? facePartsFileHolder;
FileHolder? hiddenFaceFileHolder;
bool sortingContainersAny = sortingContainers.Count > 0;
int padLeft = _Configuration.FaceDistancePermyriad.ToString().Length;
string forceSingleImageHumanized = nameof(Shared.Models.Stateless.IMapLogic.ForceSingleImage).Humanize(LetterCasing.Title);
foreach (SortingContainer sortingContainer in sortingContainers)
@ -795,15 +797,15 @@ public partial class MapLogic : Shared.Models.Methods.IMapLogic
if (sortingContainer.Question is null)
throw new NotSupportedException();
isCounterPersonYear = sortingContainer.Source.MappingFromPerson is not null && IPersonBirthday.IsCounterPersonYear(sortingContainer.Source.MappingFromPerson.PersonKey);
(by, _, isBySorting) = Stateless.MapLogic.Get(useFiltersCounter, _Configuration.SaveIndividually, sortingContainers.Count > 0, forceSingleImageHumanized, sortingContainer.Question);
(by, _, isBySorting) = Stateless.MapLogic.Get(useFiltersCounter, _Configuration.SaveIndividually, sortingContainersAny, forceSingleImageHumanized, sortingContainer.Sorting.DistancePermyriad, sortingContainer.Question);
question = sortingContainer.Question.MappingFromPerson is null ? sortingContainer.Source : sortingContainer.Question;
if (question is null)
throw new NotSupportedException();
if (question.MappingFromLocation is null)
continue;
record = Get(_Configuration, _Configuration.SaveIndividually, by, question, padLeft);
if (string.IsNullOrEmpty(record.Directory))
throw new NotSupportedException();
if (string.IsNullOrEmpty(record.Directory) || string.IsNullOrEmpty(record.PersonDirectory))
continue;
directory = record.Directory;
if (!string.IsNullOrEmpty(record.DebugDirectory))
results.Add(new(record.DebugDirectory));