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;
}

View File

@ -12,7 +12,6 @@ public class Configuration : Shared.Models.Properties.IPropertyConfiguration
public string DateGroup { init; get; }
public string FileNameDirectorySeparator { init; get; }
public bool ForcePropertyLastWriteTimeToCreationTime { init; get; }
public string[] IgnoreExtensions { init; get; }
public string[] IgnoreRulesKeyWords { init; get; }
public int IntMinValueLength { init; get; }
@ -25,7 +24,6 @@ public class Configuration : Shared.Models.Properties.IPropertyConfiguration
public string PersonBirthdayFormat { init; get; }
public bool PopulatePropertyId { init; get; }
public string? PredictorModelName { init; get; }
public bool PropertiesChangedForProperty { init; get; }
public string[] PropertyContentCollectionFiles { init; get; }
public string ResultAllInOne { init; get; }
public int ResultAllInOneSubdirectoryLength { init; get; }
@ -39,7 +37,6 @@ public class Configuration : Shared.Models.Properties.IPropertyConfiguration
[JsonConstructor]
public Configuration(string dateGroup,
string fileNameDirectorySeparator,
bool forcePropertyLastWriteTimeToCreationTime,
string[] ignoreExtensions,
string[] ignoreRulesKeyWords,
int intMinValueLength,
@ -52,7 +49,6 @@ public class Configuration : Shared.Models.Properties.IPropertyConfiguration
string personBirthdayFormat,
bool populatePropertyId,
string? predictorModelName,
bool propertiesChangedForProperty,
string[] propertyContentCollectionFiles,
string resultAllInOne,
int resultAllInOneSubdirectoryLength,
@ -67,7 +63,6 @@ public class Configuration : Shared.Models.Properties.IPropertyConfiguration
{
DateGroup = dateGroup;
FileNameDirectorySeparator = fileNameDirectorySeparator;
ForcePropertyLastWriteTimeToCreationTime = forcePropertyLastWriteTimeToCreationTime;
IgnoreExtensions = ignoreExtensions;
IgnoreRulesKeyWords = ignoreRulesKeyWords;
IntMinValueLength = intMinValueLength;
@ -80,7 +75,6 @@ public class Configuration : Shared.Models.Properties.IPropertyConfiguration
PersonBirthdayFormat = personBirthdayFormat;
PredictorModelName = predictorModelName;
PopulatePropertyId = populatePropertyId;
PropertiesChangedForProperty = propertiesChangedForProperty;
PropertyContentCollectionFiles = propertyContentCollectionFiles;
ResultAllInOne = resultAllInOne;
ResultAllInOneSubdirectoryLength = resultAllInOneSubdirectoryLength;