145 lines
7.5 KiB
C#
145 lines
7.5 KiB
C#
using System.Text.Json;
|
|
using System.Text.Json.Serialization;
|
|
|
|
namespace View_by_Distance.Tests.Models;
|
|
|
|
public class Configuration
|
|
{
|
|
|
|
protected Property.Models.Configuration _PropertyConfiguration;
|
|
public Property.Models.Configuration PropertyConfiguration => _PropertyConfiguration;
|
|
|
|
public bool CheckDFaceAndUpWriteDates { init; get; }
|
|
public bool CheckJsonForDistanceResults { init; get; }
|
|
public int CrossDirectoryMaxItemsInDistanceCollection { init; get; }
|
|
public int DistanceFactor { init; get; }
|
|
public bool ForceFaceLastWriteTimeToCreationTime { init; get; }
|
|
public bool ForceMetadataLastWriteTimeToCreationTime { init; get; }
|
|
public bool ForceResizeLastWriteTimeToCreationTime { init; get; }
|
|
public string[] IgnoreExtensions { init; get; }
|
|
public string[] IgnoreRelativePaths { init; get; }
|
|
public string[] JLinks { init; get; }
|
|
public string[] LoadOrCreateThenSaveDistanceResultsForOutputResolutions { init; get; }
|
|
public string[] LoadOrCreateThenSaveImageFacesResultsForOutputResolutions { init; get; }
|
|
public string[] MixedYearRelativePaths { init; get; }
|
|
public string ModelDirectory { init; get; }
|
|
public string ModelName { init; get; }
|
|
public int NumberOfJitters { init; get; }
|
|
public int NumberOfTimesToUpsample { init; get; }
|
|
public string OutputExtension { init; get; }
|
|
public int OutputQuality { init; get; }
|
|
public string[] OutputResolutions { init; get; }
|
|
public bool OverrideForFaceImages { init; get; }
|
|
public bool OverrideForFaceLandmarkImages { init; get; }
|
|
public bool OverrideForResizeImages { init; get; }
|
|
public string PredictorModelName { init; get; }
|
|
public bool PropertiesChangedForDistance { init; get; }
|
|
public bool PropertiesChangedForFaces { init; get; }
|
|
public bool PropertiesChangedForIndex { init; get; }
|
|
public bool PropertiesChangedForMetadata { init; get; }
|
|
public bool PropertiesChangedForResize { init; get; }
|
|
public bool Reverse { init; get; }
|
|
public string[] SaveFaceLandmarkForOutputResolutions { init; get; }
|
|
public bool SaveFullYearOfRandomFiles { init; get; }
|
|
public string[] SaveFilteredOriginalImagesFromJLinksForOutputResolutions { init; get; }
|
|
public string[] SaveShortcutsForOutputResolutions { init; get; }
|
|
public bool SaveResizedSubfiles { init; get; }
|
|
public bool SkipSearch { init; get; }
|
|
public bool TestDistanceResults { init; get; }
|
|
public string[] ValidResolutions { init; get; }
|
|
|
|
[JsonConstructor]
|
|
public Configuration(Property.Models.Configuration propertyConfiguration,
|
|
bool checkDFaceAndUpWriteDates,
|
|
bool checkJsonForDistanceResults,
|
|
int crossDirectoryMaxItemsInDistanceCollection,
|
|
int distanceFactor,
|
|
bool forceFaceLastWriteTimeToCreationTime,
|
|
bool forceMetadataLastWriteTimeToCreationTime,
|
|
bool forceResizeLastWriteTimeToCreationTime,
|
|
string[] ignoreExtensions,
|
|
string[] ignoreRelativePaths,
|
|
string[] jLinks,
|
|
string[] loadOrCreateThenSaveDistanceResultsForOutputResolutions,
|
|
string[] loadOrCreateThenSaveImageFacesResultsForOutputResolutions,
|
|
string[] mixedYearRelativePaths,
|
|
string modelDirectory,
|
|
string modelName,
|
|
int numberOfJitters,
|
|
int numberOfTimesToUpsample,
|
|
string outputExtension,
|
|
int outputQuality,
|
|
string[] outputResolutions,
|
|
bool overrideForFaceImages,
|
|
bool overrideForFaceLandmarkImages,
|
|
bool overrideForResizeImages,
|
|
string predictorModelName,
|
|
bool propertiesChangedForDistance,
|
|
bool propertiesChangedForFaces,
|
|
bool propertiesChangedForIndex,
|
|
bool propertiesChangedForMetadata,
|
|
bool propertiesChangedForResize,
|
|
bool reverse,
|
|
string[] saveFaceLandmarkForOutputResolutions,
|
|
bool saveFullYearOfRandomFiles,
|
|
string[] saveFilteredOriginalImagesFromJLinksForOutputResolutions,
|
|
string[] saveShortcutsForOutputResolutions,
|
|
bool saveResizedSubfiles,
|
|
bool skipSearch,
|
|
bool testDistanceResults,
|
|
string[] validResolutions)
|
|
{
|
|
_PropertyConfiguration = propertyConfiguration;
|
|
CheckDFaceAndUpWriteDates = checkDFaceAndUpWriteDates;
|
|
CheckJsonForDistanceResults = checkJsonForDistanceResults;
|
|
CrossDirectoryMaxItemsInDistanceCollection = crossDirectoryMaxItemsInDistanceCollection;
|
|
DistanceFactor = distanceFactor;
|
|
ForceFaceLastWriteTimeToCreationTime = forceFaceLastWriteTimeToCreationTime;
|
|
ForceMetadataLastWriteTimeToCreationTime = forceMetadataLastWriteTimeToCreationTime;
|
|
ForceResizeLastWriteTimeToCreationTime = forceResizeLastWriteTimeToCreationTime;
|
|
IgnoreExtensions = ignoreExtensions;
|
|
IgnoreRelativePaths = ignoreRelativePaths;
|
|
JLinks = jLinks;
|
|
LoadOrCreateThenSaveDistanceResultsForOutputResolutions = loadOrCreateThenSaveDistanceResultsForOutputResolutions;
|
|
LoadOrCreateThenSaveImageFacesResultsForOutputResolutions = loadOrCreateThenSaveImageFacesResultsForOutputResolutions;
|
|
MixedYearRelativePaths = mixedYearRelativePaths;
|
|
ModelDirectory = modelDirectory;
|
|
ModelName = modelName;
|
|
NumberOfJitters = numberOfJitters;
|
|
NumberOfTimesToUpsample = numberOfTimesToUpsample;
|
|
OutputExtension = outputExtension;
|
|
OutputQuality = outputQuality;
|
|
OutputResolutions = outputResolutions;
|
|
OverrideForFaceImages = overrideForFaceImages;
|
|
OverrideForFaceLandmarkImages = overrideForFaceLandmarkImages;
|
|
OverrideForResizeImages = overrideForResizeImages;
|
|
PredictorModelName = predictorModelName;
|
|
PropertiesChangedForDistance = propertiesChangedForDistance;
|
|
PropertiesChangedForFaces = propertiesChangedForFaces;
|
|
PropertiesChangedForIndex = propertiesChangedForIndex;
|
|
PropertiesChangedForMetadata = propertiesChangedForMetadata;
|
|
PropertiesChangedForResize = propertiesChangedForResize;
|
|
Reverse = reverse;
|
|
SaveFaceLandmarkForOutputResolutions = saveFaceLandmarkForOutputResolutions;
|
|
SaveFullYearOfRandomFiles = saveFullYearOfRandomFiles;
|
|
SaveFilteredOriginalImagesFromJLinksForOutputResolutions = saveFilteredOriginalImagesFromJLinksForOutputResolutions;
|
|
SaveShortcutsForOutputResolutions = saveShortcutsForOutputResolutions;
|
|
SaveResizedSubfiles = saveResizedSubfiles;
|
|
SkipSearch = skipSearch;
|
|
TestDistanceResults = testDistanceResults;
|
|
ValidResolutions = validResolutions;
|
|
}
|
|
|
|
public override string ToString()
|
|
{
|
|
string result = JsonSerializer.Serialize(this, new JsonSerializerOptions() { WriteIndented = true });
|
|
return result;
|
|
}
|
|
|
|
public void SetAndUpdate(Property.Models.Configuration configuration)
|
|
{
|
|
_PropertyConfiguration = configuration;
|
|
_PropertyConfiguration.Update();
|
|
}
|
|
|
|
} |