logger for !9

xmp and json sidecar support

Alignment with Phares 8.0.118.14905 for Shared and Metadata

A_Metadata

Parameter constructors

Removed force-property-last-write-time-to-creation-time

House Cleaning
This commit is contained in:
2025-07-27 10:57:26 -07:00
parent 30d8a270f9
commit 08164a880d
47 changed files with 1038 additions and 677 deletions

View File

@ -9,7 +9,6 @@ public class Configuration
public string? DateGroup { get; set; }
public string? FileNameDirectorySeparator { get; set; }
public bool? ForcePropertyLastWriteTimeToCreationTime { get; set; }
public string[]? IgnoreExtensions { get; set; }
public string[]? IgnoreRulesKeyWords { get; set; }
public int? IntMinValueLength { get; set; }
@ -64,7 +63,6 @@ public class Configuration
if (configuration is null) throw new NullReferenceException(nameof(configuration));
if (configuration.DateGroup is null) throw new NullReferenceException(nameof(configuration.DateGroup));
if (configuration.FileNameDirectorySeparator is null) throw new NullReferenceException(nameof(configuration.FileNameDirectorySeparator));
if (configuration.ForcePropertyLastWriteTimeToCreationTime is null) throw new NullReferenceException(nameof(configuration.ForcePropertyLastWriteTimeToCreationTime));
if (configuration.IgnoreExtensions is null) throw new NullReferenceException(nameof(configuration.IgnoreExtensions));
if (configuration.IgnoreRulesKeyWords is null) throw new NullReferenceException(nameof(configuration.IgnoreRulesKeyWords));
if (configuration.IntMinValueLength is null) throw new NullReferenceException(nameof(configuration.IntMinValueLength));
@ -89,33 +87,31 @@ public class Configuration
if (configuration.ValidImageFormatExtensions is null) throw new NullReferenceException(nameof(configuration.ValidImageFormatExtensions));
if (configuration.ValidVideoFormatExtensions is null) throw new NullReferenceException(nameof(configuration.ValidVideoFormatExtensions));
// if (configuration.VerifyToSeason is null) throw new NullReferenceException(nameof(configuration.VerifyToSeason));
result = new(configuration.DateGroup,
configuration.FileNameDirectorySeparator,
configuration.ForcePropertyLastWriteTimeToCreationTime.Value,
configuration.IgnoreExtensions,
configuration.IgnoreRulesKeyWords,
configuration.IntMinValueLength.Value,
configuration.MaxImagesInDirectoryForTopLevelFirstPass.Value,
configuration.ModelName,
configuration.NumberOfJitters,
configuration.NumberOfTimesToUpsample,
configuration.Offset.Value,
configuration.Pattern,
configuration.PersonBirthdayFormat,
configuration.PopulatePropertyId.Value,
configuration.PredictorModelName,
configuration.PropertiesChangedForProperty.Value,
configuration.PropertyContentCollectionFiles ?? [],
configuration.ResultAllInOne,
configuration.ResultAllInOneSubdirectoryLength.Value,
configuration.ResultCollection,
configuration.ResultContent,
configuration.ResultContentCollection,
configuration.ResultSingleton,
Path.GetFullPath(configuration.RootDirectory),
configuration.ValidImageFormatExtensions,
configuration.ValidVideoFormatExtensions,
configuration.VerifyToSeason ?? []);
result = new(dateGroup: configuration.DateGroup,
fileNameDirectorySeparator: configuration.FileNameDirectorySeparator,
ignoreExtensions: configuration.IgnoreExtensions,
ignoreRulesKeyWords: configuration.IgnoreRulesKeyWords,
intMinValueLength: configuration.IntMinValueLength.Value,
maxImagesInDirectoryForTopLevelFirstPass: configuration.MaxImagesInDirectoryForTopLevelFirstPass.Value,
modelName: configuration.ModelName,
numberOfJitters: configuration.NumberOfJitters,
numberOfTimesToUpsample: configuration.NumberOfTimesToUpsample,
offset: configuration.Offset.Value,
pattern: configuration.Pattern,
personBirthdayFormat: configuration.PersonBirthdayFormat,
populatePropertyId: configuration.PopulatePropertyId.Value,
predictorModelName: configuration.PredictorModelName,
propertyContentCollectionFiles: configuration.PropertyContentCollectionFiles ?? [],
resultAllInOne: configuration.ResultAllInOne,
resultAllInOneSubdirectoryLength: configuration.ResultAllInOneSubdirectoryLength.Value,
resultCollection: configuration.ResultCollection,
resultContent: configuration.ResultContent,
resultContentCollection: configuration.ResultContentCollection,
resultSingleton: configuration.ResultSingleton,
rootDirectory: Path.GetFullPath(configuration.RootDirectory),
validImageFormatExtensions: configuration.ValidImageFormatExtensions,
validVideoFormatExtensions: configuration.ValidVideoFormatExtensions,
verifyToSeason: configuration.VerifyToSeason ?? []);
return result;
}