CopyAtLeastOneMappedFiles

This commit is contained in:
2022-12-28 11:58:27 -07:00
parent 3278256315
commit 681b2fdf3c
17 changed files with 169 additions and 93 deletions

View File

@ -122,7 +122,7 @@ public partial class DlibDotNet
if (rootResultsDirectory is null)
throw new Exception();
Storage storage = new(rootDirectory, rootResultsDirectory, peopleRootDirectory);
_PersonContainers = Shared.Models.Stateless.Methods.IPersonContainer.GetPersonContainers(storage, configuration.PersonBirthdayFormat, _Faces.FileNameExtension);
_PersonContainers = Shared.Models.Stateless.Methods.IPersonContainer.GetPersonContainers(storage, configuration.PersonBirthdayFormat, configuration.PersonCharacters.ToArray(), _Faces.FileNameExtension);
}
if (!isSilent && configuration.TestDistanceResults)
{
@ -272,6 +272,7 @@ public partial class DlibDotNet
configuration.MappingDefaultName,
configuration.PersonBirthdayFirstYear,
configuration.PersonBirthdayFormat,
configuration.PersonCharacters,
configuration.RangeDaysDeltaTolerance,
configuration.RangeDistanceTolerance,
configuration.SortingMaximumPerKey,
@ -873,6 +874,8 @@ public partial class DlibDotNet
List<Item> filteredItems = GetItems(argZero, containers);
mapLogic.SaveShortcutsForOutputResolutions(filteredItems, mappingCollection, personKeyToCount);
}
if (_Configuration.PersonCharactersToCopyTo.Length == 1)
mapLogic.CopyAtLeastOneMappedFiles(_Configuration.PersonCharactersToCopyTo[0], dFacesContentDirectory, a2PeopleSingletonDirectory, mappingCollection);
Dictionary<int, Dictionary<int, Mapping>> idToNormalizedRectangleToMapping = MapLogicSupport.GetIdToNormalizedRectangleToFace(mappingCollection);
mapLogic.CopyManualFiles(dFacesContentDirectory, idToNormalizedRectangleToMapping);
if (_Configuration.SaveNotMappedForOutputResolutions.Contains(outputResolution))

View File

@ -49,6 +49,8 @@ public class Configuration
[Display(Name = "Override For Resize Images"), Required] public bool? OverrideForResizeImages { get; set; }
[Display(Name = "Person Birthday First Year"), Required] public int? PersonBirthdayFirstYear { get; set; }
[Display(Name = "Person Birthday Format"), Required] public string PersonBirthdayFormat { get; set; }
[Display(Name = "Person Characters"), Required] public string PersonCharacters { get; set; }
[Display(Name = "Person Characters To Copy To"), Required] public string PersonCharactersToCopyTo { get; set; }
[Display(Name = "PersonKey Format"), Required] public string PersonKeyFormat { get; set; }
[Display(Name = "Predictor Model Name"), Required] public string PredictorModelName { get; set; }
[Display(Name = "Properties Changed For Distance"), Required] public bool? PropertiesChangedForDistance { get; set; }
@ -156,6 +158,10 @@ public class Configuration
throw new NullReferenceException(nameof(configuration.PersonBirthdayFirstYear));
if (configuration.PersonBirthdayFormat is null)
throw new NullReferenceException(nameof(configuration.PersonBirthdayFormat));
if (configuration.PersonCharacters is null)
throw new NullReferenceException(nameof(configuration.PersonCharacters));
if (configuration.PersonCharactersToCopyTo is null)
throw new NullReferenceException(nameof(configuration.PersonCharactersToCopyTo));
if (configuration.PersonKeyFormat is null)
throw new NullReferenceException(nameof(configuration.PersonKeyFormat));
if (configuration.PropertiesChangedForDistance is null)
@ -240,6 +246,8 @@ public class Configuration
configuration.OverrideForResizeImages.Value,
configuration.PersonBirthdayFirstYear.Value,
configuration.PersonBirthdayFormat,
configuration.PersonCharacters,
configuration.PersonCharactersToCopyTo,
configuration.PersonKeyFormat,
configuration.PredictorModelName,
configuration.PropertiesChangedForDistance.Value,

View File

@ -46,6 +46,8 @@ public class Configuration
public bool OverrideForResizeImages { init; get; }
public int PersonBirthdayFirstYear { init; get; }
public string PersonBirthdayFormat { init; get; }
public string PersonCharacters { init; get; }
public string PersonCharactersToCopyTo { init; get; }
public string PersonKeyFormat { init; get; }
public string PredictorModelName { init; get; }
public bool PropertiesChangedForDistance { init; get; }
@ -112,6 +114,8 @@ public class Configuration
bool overrideForResizeImages,
int personBirthdayFirstYear,
string personBirthdayFormat,
string personCharacters,
string personCharactersToCopyTo,
string personKeyFormat,
string predictorModelName,
bool propertiesChangedForDistance,
@ -177,6 +181,8 @@ public class Configuration
OverrideForResizeImages = overrideForResizeImages;
PersonBirthdayFirstYear = personBirthdayFirstYear;
PersonBirthdayFormat = personBirthdayFormat;
PersonCharacters = personCharacters;
PersonCharactersToCopyTo = personCharactersToCopyTo;
PersonKeyFormat = personKeyFormat;
PredictorModelName = predictorModelName;
PropertiesChangedForDistance = propertiesChangedForDistance;

View File

@ -94,7 +94,7 @@ public class G2_Identify : Shared.Models.Properties.IIdentify, IIdentify
if (rootResultsDirectory is null)
throw new Exception();
Storage storage = new(rootDirectory, rootResultsDirectory, peopleRootDirectory);
PersonContainer[] personContainers = Shared.Models.Stateless.Methods.IPersonContainer.GetPersonContainers(storage, _Configuration.PersonBirthdayFormat, facesFileNameExtension);
PersonContainer[] personContainers = Shared.Models.Stateless.Methods.IPersonContainer.GetPersonContainers(storage, _Configuration.PersonBirthdayFormat, _Configuration.PersonCharacters.ToArray(), facesFileNameExtension);
string[] peopleBirthDates = (from l in personContainers select Shared.Models.Stateless.Methods.IPersonBirthday.GetFormatted(_Configuration.PersonBirthdayFormat, l.Person.Birthday)).ToArray();
Dictionary<string, string[]> sourceKeyValuePairs = JsonSerializer.Deserialize<Dictionary<string, string[]>>(json);
foreach (KeyValuePair<string, string[]> keyValuePair in sourceKeyValuePairs)

View File

@ -10,8 +10,17 @@
},
"Windows": {
"Configuration": {
"DistanceRenameToMatch": false,
"DistanceMoveUnableToMatch": false,
"DistanceRenameToMatch": true,
"DistanceMoveUnableToMatch": true,
"PersonCharacters": "!#]^_`~+",
"xPersonCharactersToCopyTo": "!",
"xxPersonCharactersToCopyTo": "#",
"xxxPersonCharactersToCopyTo": "]",
"xxxxPersonCharactersToCopyTo": "^",
"xxxxxPersonCharactersToCopyTo": "_",
"xxxxxxPersonCharactersToCopyTo": "`",
"xxxxxxxPersonCharactersToCopyTo": "~",
"xxxxxxxxPersonCharactersToCopyTo": "+",
"xRootDirectory": "D:/Tmp/phares/Pictures",
"xxRootDirectory": "D:/Tmp/Phares/Compare/Not-Copy-Copy-37c7b67",
"xxxRootDirectory": "D:/Tmp/Phares/Compare/Corrupt",

View File

@ -87,6 +87,8 @@
"Pattern": "[^ABCDEFGHIJKLMNOPQRSTUVWXYZbcdfghjklmnpqrstvwxyz0-9]",
"PersonBirthdayFirstYear": 1500,
"PersonBirthdayFormat": "yyyy-MM-dd_HH",
"PersonCharacters": "!#]^_`~+",
"PersonCharactersToCopyTo": "~",
"PersonKeyFormat": "yyyy-MM-dd_HH",
"PopulatePropertyId": true,
"PredictorModelName": "Large",