LookForMatchFacesAndPossiblyRename for A2 People
This commit is contained in:
@ -29,7 +29,7 @@ internal abstract class MapLogic
|
||||
continue;
|
||||
personBirthday = IPersonBirthday.GetPersonBirthday(personKey);
|
||||
person = IPerson.GetPerson(configuration.MappingDefaultName, personKey, personBirthday);
|
||||
personContainer = new(approximateYears, person, new PersonBirthday[] { personBirthday }, personDisplayDirectoryAllFiles, configuration.MappingDefaultName, personKey, partialKeyFormatted: null);
|
||||
personContainer = new(approximateYears, person, new PersonBirthday[] { personBirthday }, personDisplayDirectoryAllFiles, configuration.MappingDefaultName, personKey);
|
||||
results.Add(personContainer);
|
||||
}
|
||||
return results;
|
||||
@ -82,12 +82,12 @@ internal abstract class MapLogic
|
||||
string[] files;
|
||||
const int zero = 0;
|
||||
string[] yearDirectories;
|
||||
int? normalizedRectangle;
|
||||
string personKeyFormatted;
|
||||
string ticksDirectoryName;
|
||||
string? personFirstInitial;
|
||||
DirectoryInfo directoryInfo;
|
||||
string[] personKeyDirectories;
|
||||
int? normalizedRectangle;
|
||||
string[] personNameDirectories;
|
||||
string[] personNameLinkDirectories;
|
||||
string? personFirstInitialDirectory;
|
||||
@ -189,13 +189,29 @@ internal abstract class MapLogic
|
||||
return results;
|
||||
}
|
||||
|
||||
internal static List<(string, string[], string)> DeleteEmptyDirectoriesAndGetMappedFaceFiles(Configuration configuration, PersonContainer[] personContainers, long ticks, string? a2PeopleContentDirectory, string eDistanceContentDirectory)
|
||||
private static List<string> GetPersonKeyFormattedCollection(Configuration configuration, PersonContainer[] personContainers, List<(long? PersonKey, string Line)> lines)
|
||||
{
|
||||
List<(string, string[], string)> results;
|
||||
List<string> results = new();
|
||||
string personKeyFormatted;
|
||||
List<string> personKeyFormattedCollection = new();
|
||||
foreach (PersonContainer personContainer in personContainers)
|
||||
{
|
||||
lines.AddRange(IPersonContainer.GetDisplay(configuration.PersonBirthdayFormat, personContainer));
|
||||
if (personContainer.Person is null || personContainer.Key is null || personContainer.Birthdays is null || !personContainer.Birthdays.Any())
|
||||
continue;
|
||||
foreach (PersonBirthday personBirthday in personContainer.Birthdays)
|
||||
{
|
||||
personKeyFormatted = IPersonBirthday.GetFormatted(configuration.PersonBirthdayFormat, personBirthday);
|
||||
results.Add(personKeyFormatted);
|
||||
}
|
||||
}
|
||||
return results;
|
||||
}
|
||||
|
||||
internal static List<string> DeleteEmptyDirectoriesAndGetMappedFaceFiles(Configuration configuration, PersonContainer[] personContainers, long ticks, string? a2PeopleContentDirectory, string eDistanceContentDirectory)
|
||||
{
|
||||
List<string> results = new();
|
||||
List<(long? PersonKey, string Line)> lines = new();
|
||||
_ = GetDistinctCollection(configuration, personContainers.ToList(), new());
|
||||
_ = GetDistinctCollection(configuration, personContainers, new());
|
||||
int totalSeconds = (int)Math.Floor(new TimeSpan(DateTime.Now.Ticks - ticks).TotalSeconds);
|
||||
string[] ticksDirectories;
|
||||
if (string.IsNullOrEmpty(eDistanceContentDirectory))
|
||||
@ -213,20 +229,12 @@ internal abstract class MapLogic
|
||||
ticksDirectories = Directory.GetDirectories(eDistanceContentDirectory, "*", SearchOption.TopDirectoryOnly);
|
||||
}
|
||||
string message = $") {ticksDirectories.Length:000} collect from and clean ticks Director(ies) - A - {totalSeconds} total second(s)";
|
||||
foreach (PersonContainer personContainer in personContainers)
|
||||
{
|
||||
lines.AddRange(IPersonContainer.GetDisplay(configuration.PersonBirthdayFormat, personContainer));
|
||||
if (personContainer.Person is null || personContainer.Key is null || personContainer.Birthdays is null || !personContainer.Birthdays.Any())
|
||||
continue;
|
||||
foreach (PersonBirthday personBirthday in personContainer.Birthdays)
|
||||
{
|
||||
personKeyFormatted = IPersonBirthday.GetFormatted(configuration.PersonBirthdayFormat, personBirthday);
|
||||
personKeyFormattedCollection.Add(personKeyFormatted);
|
||||
}
|
||||
}
|
||||
List<string> personKeyFormattedCollection = GetPersonKeyFormattedCollection(configuration, personContainers, lines);
|
||||
if (!string.IsNullOrEmpty(a2PeopleContentDirectory))
|
||||
File.WriteAllLines(Path.Combine(a2PeopleContentDirectory, "People - C.tsv"), from l in lines select l.Line);
|
||||
results = DeleteEmptyDirectoriesAndGetCollection(configuration, personKeyFormattedCollection, ticksDirectories, message);
|
||||
List<(string, string[], string)> collection = DeleteEmptyDirectoriesAndGetCollection(configuration, personKeyFormattedCollection, ticksDirectories, message);
|
||||
foreach ((string personKeyFormatted, string[] personDisplayDirectoryNames, string mappedFaceFile) in collection)
|
||||
results.Add(mappedFaceFile);
|
||||
return results;
|
||||
}
|
||||
|
||||
@ -322,7 +330,7 @@ internal abstract class MapLogic
|
||||
}
|
||||
}
|
||||
|
||||
private static List<(long, PersonContainer)> GetDistinctCollection(Configuration configuration, List<PersonContainer> personContainers, Dictionary<string, PersonContainer> personKeyFormattedToPersonContainer)
|
||||
private static List<(long, PersonContainer)> GetDistinctCollection(Configuration configuration, IEnumerable<PersonContainer> personContainers, Dictionary<string, PersonContainer> personKeyFormattedToPersonContainer)
|
||||
{
|
||||
List<(long, PersonContainer)> results = new();
|
||||
const int zero = 0;
|
||||
@ -722,4 +730,19 @@ internal abstract class MapLogic
|
||||
}
|
||||
}
|
||||
|
||||
internal static List<string> GetDisplayDirectoryAllFiles(PersonContainer[] personContainers)
|
||||
{
|
||||
List<string> results = new();
|
||||
foreach (PersonContainer personContainer in personContainers)
|
||||
{
|
||||
foreach (string displayDirectoryAllFile in personContainer.DisplayDirectoryAllFiles)
|
||||
{
|
||||
if (displayDirectoryAllFile.EndsWith(".json"))
|
||||
continue;
|
||||
results.Add(displayDirectoryAllFile);
|
||||
}
|
||||
}
|
||||
return results;
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user