SaveMappedForOutputResolutions

This commit is contained in:
2023-09-03 17:30:39 -07:00
parent a9d0f67227
commit 600f6e7e2b
15 changed files with 437 additions and 163 deletions

View File

@ -1,80 +1,23 @@
using System.Text.Json;
using System.Text.Json.Serialization;
namespace View_by_Distance.Map.Models;
public class Configuration
{
public bool DeletePossibleDuplicates { get; internal set; }
public bool DistanceMoveUnableToMatch { init; get; }
public bool DistanceRenameToMatch { init; get; }
public int FaceConfidencePercent { init; get; }
public int FaceDistancePermyriad { init; get; }
public string FacePartsFileNameExtension { init; get; }
public string FacesFileNameExtension { init; get; }
public string FacesHiddenFileNameExtension { init; get; }
public float? LocationContainerDistanceTolerance { init; get; }
public int LocationDigits { init; get; }
public string MappingDefaultName { init; get; }
public int PersonBirthdayFirstYear { init; get; }
public string PersonBirthdayFormat { init; get; }
public char[] PersonCharacters { init; get; }
public int RangeDaysDeltaTolerance { init; get; }
public double RangeDistanceTolerance { init; get; }
public bool SaveSortingWithoutPerson { init; get; }
public string[] SkipNotSkipDirectories { init; get; }
public int SortingMaximumPerKey { init; get; }
public int SortingMinimumToUseSigma { init; get; }
[JsonConstructor]
public Configuration(bool deletePossibleDuplicates,
bool distanceMoveUnableToMatch,
bool distanceRenameToMatch,
int faceConfidencePercent,
int faceDistancePermyriad,
float? locationContainerDistanceTolerance,
int locationDigits,
string mappingDefaultName,
int personBirthdayFirstYear,
string personBirthdayFormat,
char[] personCharacters,
int[] rangeDaysDeltaTolerance,
float[] rangeDistanceTolerance,
bool saveSortingWithoutPerson,
string[] skipNotSkipDirectories,
int sortingMaximumPerKey,
int sortingMinimumToUseSigma,
string facesFileNameExtension,
string facesHiddenFileNameExtension,
string facePartsFileNameExtension)
{
LocationDigits = locationDigits;
PersonCharacters = personCharacters;
MappingDefaultName = mappingDefaultName;
PersonBirthdayFormat = personBirthdayFormat;
SortingMaximumPerKey = sortingMaximumPerKey;
DistanceRenameToMatch = distanceRenameToMatch;
FaceConfidencePercent = faceConfidencePercent;
FaceDistancePermyriad = faceDistancePermyriad;
FacesFileNameExtension = facesFileNameExtension;
SkipNotSkipDirectories = skipNotSkipDirectories;
PersonBirthdayFirstYear = personBirthdayFirstYear;
RangeDistanceTolerance = rangeDistanceTolerance[1];
DeletePossibleDuplicates = deletePossibleDuplicates;
SaveSortingWithoutPerson = saveSortingWithoutPerson;
SortingMinimumToUseSigma = sortingMinimumToUseSigma;
RangeDaysDeltaTolerance = rangeDaysDeltaTolerance[1];
DistanceMoveUnableToMatch = distanceMoveUnableToMatch;
FacePartsFileNameExtension = facePartsFileNameExtension;
FacesHiddenFileNameExtension = facesHiddenFileNameExtension;
LocationContainerDistanceTolerance = locationContainerDistanceTolerance;
}
public override string ToString()
{
string result = JsonSerializer.Serialize(this, new JsonSerializerOptions() { WriteIndented = true });
return result;
}
}
public record Configuration(bool DeletePossibleDuplicates,
bool DistanceMoveUnableToMatch,
bool DistanceRenameToMatch,
int FaceConfidencePercent,
int FaceDistancePermyriad,
float? LocationContainerDistanceTolerance,
int LocationDigits,
string MappingDefaultName,
int PersonBirthdayFirstYear,
string PersonBirthdayFormat,
char[] PersonCharacters,
int[] RangeDaysDeltaTolerance,
float[] RangeDistanceTolerance,
bool SaveMappedRelations,
bool SaveSortingWithoutPerson,
string[] SkipNotSkipDirectories,
int SortingMaximumPerKey,
int SortingMinimumToUseSigma,
string FacesFileNameExtension,
string FacesHiddenFileNameExtension,
string FacePartsFileNameExtension);