Copy Manual Files
This commit is contained in:
@ -42,7 +42,7 @@ internal abstract class MapLogic
|
||||
string newestPersonKeyFormatted;
|
||||
foreach (PersonContainer personContainer in personContainers)
|
||||
{
|
||||
foreach (string personDisplayDirectoryAllFile in personContainer.PersonDisplayDirectoryAllFiles)
|
||||
foreach (string personDisplayDirectoryAllFile in personContainer.DisplayDirectoryAllFiles)
|
||||
{
|
||||
if (Path.GetExtension(personDisplayDirectoryAllFile) != resizeFilenameExtension)
|
||||
continue;
|
||||
@ -53,20 +53,20 @@ internal abstract class MapLogic
|
||||
skipCollection.Add(id.Value, new());
|
||||
skipCollection[id.Value].Add(normalizedPixelPercentage.Value);
|
||||
}
|
||||
if (personContainer.Person is null || personContainer.PersonKey is null || personContainer.PersonBirthdays is null || !personContainer.PersonBirthdays.Any())
|
||||
if (personContainer.Person is null || personContainer.Key is null || personContainer.Birthdays is null || !personContainer.Birthdays.Any())
|
||||
continue;
|
||||
foreach (PersonBirthday personBirthday in personContainer.PersonBirthdays)
|
||||
foreach (PersonBirthday personBirthday in personContainer.Birthdays)
|
||||
{
|
||||
personKey = personBirthday.Value.Ticks;
|
||||
personKeys.Add(personKey);
|
||||
}
|
||||
foreach (PersonBirthday personBirthday in personContainer.PersonBirthdays)
|
||||
foreach (PersonBirthday personBirthday in personContainer.Birthdays)
|
||||
{
|
||||
personKeyFormatted = IPersonBirthday.GetFormatted(configuration.PersonBirthdayFormat, personBirthday);
|
||||
personKeyFormattedCollection.Add(personKeyFormatted);
|
||||
if (personContainer.PersonBirthdays.Length < 1)
|
||||
if (personContainer.Birthdays.Length < 1)
|
||||
continue;
|
||||
newestPersonKeyFormatted = IPersonBirthday.GetFormatted(configuration.PersonBirthdayFormat, personContainer.PersonKey.Value);
|
||||
newestPersonKeyFormatted = IPersonBirthday.GetFormatted(configuration.PersonBirthdayFormat, personContainer.Key.Value);
|
||||
if (!personKeyFormattedToNewestPersonKeyFormatted.ContainsKey(personKeyFormatted))
|
||||
personKeyFormattedToNewestPersonKeyFormatted.Add(personKeyFormatted, newestPersonKeyFormatted);
|
||||
}
|
||||
@ -119,8 +119,6 @@ internal abstract class MapLogic
|
||||
foreach (string personKeyDirectory in personKeyDirectories)
|
||||
{
|
||||
personKeyFormatted = Path.GetFileName(personKeyDirectory);
|
||||
if (personKeyFormatted.Length != configuration.PersonBirthdayFormat.Length)
|
||||
continue;
|
||||
yearDirectories = Directory.GetDirectories(personKeyDirectory, "*", SearchOption.TopDirectoryOnly);
|
||||
foreach (string yearDirectory in yearDirectories)
|
||||
{
|
||||
@ -147,6 +145,8 @@ internal abstract class MapLogic
|
||||
throw new Exception($"Move personKey directories up one from {nameof(Models.MapLogic.ForceSingleImage)} and delete {nameof(Models.MapLogic.ForceSingleImage)} directory!");
|
||||
if (personKeyFormatted == nameof(Sorting) && files.Any())
|
||||
throw new Exception($"Move personKey directories up one from {nameof(Sorting)} and delete {nameof(Sorting)} directory!");
|
||||
if (personKeyFormatted.Length != configuration.PersonBirthdayFormat.Length)
|
||||
continue;
|
||||
foreach (string file in files)
|
||||
{
|
||||
if (file.EndsWith(".lnk") || file.EndsWith(".json"))
|
||||
@ -207,7 +207,7 @@ internal abstract class MapLogic
|
||||
List<long> distinctCheck = new();
|
||||
foreach (PersonContainer personContainer in personContainers)
|
||||
{
|
||||
if (personContainer.PersonKey is null || distinctCheck.Contains(personContainer.PersonKey.Value))
|
||||
if (personContainer.Key is null || distinctCheck.Contains(personContainer.Key.Value))
|
||||
continue;
|
||||
results.Add(personContainer);
|
||||
}
|
||||
@ -217,24 +217,33 @@ internal abstract class MapLogic
|
||||
private static void SetKeyValuePairs(Configuration configuration, long ticks, List<PersonContainer> personContainers, List<Face> distinctFilteredFaces, List<(string, string[], int, int)> personKeyFormattedIdThenNormalizedPixelPercentageCollection, List<(string, int, int)> incorrectPersonKeyFormattedIdThenNormalizedPixelPercentageCollection, Dictionary<long, PersonContainer> personKeyToPersonContainer, Dictionary<int, Dictionary<int, PersonContainer[]>> idThenNormalizedPixelPercentageToPersonContainers, List<(string[], PersonContainer)> possiblyNewPersonDisplayDirectoryNamesAndPersonContainer, Dictionary<int, Dictionary<int, PersonContainer[]>> incorrectIdThenNormalizedPixelPercentageToPersonContainers, Dictionary<long, (long LCL, long Minimum, long Maximum, long UCL)> personKeyToRanges)
|
||||
{
|
||||
string check;
|
||||
const int zero = 0;
|
||||
string rightPadded;
|
||||
PersonBirthday? personBirthday;
|
||||
string newestPersonKeyFormatted;
|
||||
PersonContainer[] distinctPersonContainers;
|
||||
int normalizedPixelPercentageInDecimalForm;
|
||||
Dictionary<string, PersonContainer> personKeyFormattedToPersonContainer = new();
|
||||
Dictionary<long, List<PersonContainer>> personKeyToPersonContainerCollection = new();
|
||||
Dictionary<int, Dictionary<int, List<PersonContainer>>> idThenNormalizedPixelPercentageToPersonContainerCollection = new();
|
||||
Dictionary<int, Dictionary<int, List<PersonContainer>>> incorrectIdThenNormalizedPixelPercentageToPersonContainerCollection = new();
|
||||
foreach (PersonContainer personContainer in personContainers)
|
||||
{
|
||||
if (personContainer.PersonKey is null)
|
||||
if (personContainer.Key is null)
|
||||
continue;
|
||||
if (!personKeyToPersonContainer.ContainsKey(personContainer.PersonKey.Value))
|
||||
personKeyToPersonContainer.Add(personContainer.PersonKey.Value, personContainer);
|
||||
newestPersonKeyFormatted = IPersonBirthday.GetFormatted(configuration.PersonBirthdayFormat, personContainer.PersonKey.Value);
|
||||
if (!personKeyToPersonContainerCollection.ContainsKey(personContainer.Key.Value))
|
||||
personKeyToPersonContainerCollection.Add(personContainer.Key.Value, new());
|
||||
personKeyToPersonContainerCollection[personContainer.Key.Value].Add(personContainer);
|
||||
newestPersonKeyFormatted = IPersonBirthday.GetFormatted(configuration.PersonBirthdayFormat, personContainer.Key.Value);
|
||||
if (!personKeyFormattedToPersonContainer.ContainsKey(newestPersonKeyFormatted))
|
||||
personKeyFormattedToPersonContainer.Add(newestPersonKeyFormatted, personContainer);
|
||||
}
|
||||
foreach (KeyValuePair<long, List<PersonContainer>> keyValuePair in personKeyToPersonContainerCollection)
|
||||
{
|
||||
if (keyValuePair.Value.Count != 1)
|
||||
throw new NotImplementedException();
|
||||
personKeyToPersonContainer.Add(keyValuePair.Key, keyValuePair.Value[zero]);
|
||||
}
|
||||
if (personKeyFormattedIdThenNormalizedPixelPercentageCollection.Any())
|
||||
{
|
||||
string personDisplayDirectory;
|
||||
@ -567,11 +576,11 @@ internal abstract class MapLogic
|
||||
personContainers = keyValuePairs[face.Mapping.MappingFromLocation.NormalizedPixelPercentage];
|
||||
foreach (PersonContainer personContainer in personContainers)
|
||||
{
|
||||
if (personContainer.PersonKey is null)
|
||||
if (personContainer.Key is null)
|
||||
continue;
|
||||
if (!personTicks.ContainsKey(personContainer.PersonKey.Value))
|
||||
personTicks.Add(personContainer.PersonKey.Value, new());
|
||||
personTicks[personContainer.PersonKey.Value].Add(face.Mapping.MappingFromItem.MinimumDateTime.Ticks);
|
||||
if (!personTicks.ContainsKey(personContainer.Key.Value))
|
||||
personTicks.Add(personContainer.Key.Value, new());
|
||||
personTicks[personContainer.Key.Value].Add(face.Mapping.MappingFromItem.MinimumDateTime.Ticks);
|
||||
}
|
||||
}
|
||||
SetPersonKeysRanges(ticks, personTicks, personKeyToRanges);
|
||||
@ -584,17 +593,17 @@ internal abstract class MapLogic
|
||||
List<PersonContainer> notMappedAndWithNamedPersonKeys = new();
|
||||
foreach (PersonContainer personContainer in personContainers)
|
||||
{
|
||||
if (personContainer.Person is null || personContainer.PersonKey is null || personContainer.PersonBirthdays is null || !personContainer.PersonBirthdays.Any())
|
||||
if (personContainer.Person is null || personContainer.Key is null || personContainer.Birthdays is null || !personContainer.Birthdays.Any())
|
||||
continue;
|
||||
if (personKeyCollection.Contains(personContainer.PersonKey.Value))
|
||||
if (personKeyCollection.Contains(personContainer.Key.Value))
|
||||
continue;
|
||||
else if (string.IsNullOrEmpty(personContainer.PersonDisplayDirectoryName) || personContainer.PersonDisplayDirectoryName == configuration.MappingDefaultName)
|
||||
else if (string.IsNullOrEmpty(personContainer.DisplayDirectoryName) || personContainer.DisplayDirectoryName == configuration.MappingDefaultName)
|
||||
notMappedAndNotNamedPersonKeys.Add(personContainer);
|
||||
else
|
||||
notMappedAndWithNamedPersonKeys.Add(personContainer);
|
||||
}
|
||||
results.AddRange(from l in notMappedAndNotNamedPersonKeys orderby l.PersonKey is not null, l.PersonKey select l);
|
||||
results.AddRange(from l in notMappedAndWithNamedPersonKeys orderby l.PersonKey is not null, l.PersonKey select l);
|
||||
results.AddRange(from l in notMappedAndNotNamedPersonKeys orderby l.Key is not null, l.Key select l);
|
||||
results.AddRange(from l in notMappedAndWithNamedPersonKeys orderby l.Key is not null, l.Key select l);
|
||||
return results;
|
||||
}
|
||||
|
||||
@ -618,18 +627,18 @@ internal abstract class MapLogic
|
||||
string personDisplayDirectoryName;
|
||||
foreach (PersonContainer personContainer in personContainers)
|
||||
{
|
||||
if (personContainer.PersonKey is null || !personKeyCollection.Contains(personContainer.PersonKey.Value))
|
||||
if (personContainer.Key is null || !personKeyCollection.Contains(personContainer.Key.Value))
|
||||
continue;
|
||||
if (personKeyToPersonContainer.ContainsKey(personContainer.PersonKey.Value))
|
||||
if (personKeyToPersonContainer.ContainsKey(personContainer.Key.Value))
|
||||
{
|
||||
personDisplayDirectoryName = personKeyToPersonContainer[personContainer.PersonKey.Value].PersonDisplayDirectoryName;
|
||||
personDisplayDirectoryName = personKeyToPersonContainer[personContainer.Key.Value].DisplayDirectoryName;
|
||||
if (string.IsNullOrEmpty(personDisplayDirectoryName))
|
||||
throw new NotSupportedException();
|
||||
if (personDisplayDirectoryName == personContainer.PersonDisplayDirectoryName || (personDisplayDirectoryName[0] == personContainer.PersonDisplayDirectoryName[0] && (personDisplayDirectoryName.Length == 1 || personContainer.PersonDisplayDirectoryName.Length == 1)))
|
||||
if (personDisplayDirectoryName == personContainer.DisplayDirectoryName || (personDisplayDirectoryName[0] == personContainer.DisplayDirectoryName[0] && (personDisplayDirectoryName.Length == 1 || personContainer.DisplayDirectoryName.Length == 1)))
|
||||
continue;
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
personKeyToPersonContainer.Add(personContainer.PersonKey.Value, personContainer);
|
||||
personKeyToPersonContainer.Add(personContainer.Key.Value, personContainer);
|
||||
}
|
||||
if (personKeyCollection.Any())
|
||||
{
|
||||
@ -685,7 +694,7 @@ internal abstract class MapLogic
|
||||
{
|
||||
progressBar.Tick();
|
||||
foreach (KeyValuePair<int, PersonContainer[]> keyValue in keyValuePair.Value)
|
||||
nullablePersonKeyCollection.AddRange(from l in keyValue.Value select l.PersonKey);
|
||||
nullablePersonKeyCollection.AddRange(from l in keyValue.Value select l.Key);
|
||||
}
|
||||
}
|
||||
long[] personKeyCollection = (from l in nullablePersonKeyCollection where l is not null select l.Value).Distinct().ToArray();
|
||||
|
Reference in New Issue
Block a user