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

@ -162,8 +162,8 @@ public partial class UnitTestCalculations
width = 100;
height = 100;
Location location = new(bottom, confidence, left, right, top);
_ = new Location(confidence, height, location, Shared.Models.Stateless.ILocation.Digits, Shared.Models.Stateless.ILocation.Factor, width, 1);
_ = new Location(bottom, confidence, height, left, Shared.Models.Stateless.ILocation.Digits, Shared.Models.Stateless.ILocation.Factor, right, top, width, 1);
_ = new Location(confidence, height, location, width, 1);
_ = new Location(bottom, confidence, height, left, right, top, width, 1);
NonThrowTryCatch();
}
@ -188,7 +188,7 @@ public partial class UnitTestCalculations
bottom = 50;
width = 100;
height = 100;
location = new(bottom, confidence, height, left, Shared.Models.Stateless.ILocation.Digits, Shared.Models.Stateless.ILocation.Factor, right, top, width, 1);
location = new(bottom, confidence, height, left, right, top, width, 1);
areaPermyriad = IMapping.GetAreaPermyriad(faceAreaPermyriad, height, location, width);
Assert.IsTrue(areaPermyriad == 2500);
left = 0;
@ -197,7 +197,7 @@ public partial class UnitTestCalculations
bottom = 25;
width = 100;
height = 100;
location = new(bottom, confidence, height, left, Shared.Models.Stateless.ILocation.Digits, Shared.Models.Stateless.ILocation.Factor, right, top, width, 1);
location = new(bottom, confidence, height, left, right, top, width, 1);
OutputResolution outputResolution = new(height, 0, width);
areaPermyriad = IMapping.GetAreaPermyriad(faceAreaPermyriad, location, outputResolution);
Assert.IsTrue(areaPermyriad == 625);

View File

@ -59,46 +59,46 @@ public partial class UnitTestHardCoded
{
int id;
id = 748161839;
string imageTrueTruePositive = IId.GetPaddedId(_PropertyConfiguration, id, ".jpg", hasIgnoreKeyword: true, hasDateTimeOriginal: true, index: null);
string? imageTrueTruePositive = IId.GetPaddedId(_PropertyConfiguration, id, string.Empty, ".jpg", hasIgnoreKeyword: true, hasDateTimeOriginal: true, index: null);
Assert.AreEqual("816184700398", imageTrueTruePositive);
string imageTrueFalsePositive = IId.GetPaddedId(_PropertyConfiguration, id, ".jpg", hasIgnoreKeyword: true, hasDateTimeOriginal: false, index: null);
string? imageTrueFalsePositive = IId.GetPaddedId(_PropertyConfiguration, id, string.Empty, ".jpg", hasIgnoreKeyword: true, hasDateTimeOriginal: false, index: null);
Assert.AreEqual("816184700398", imageTrueFalsePositive);
string imageFalseFalsePositive = IId.GetPaddedId(_PropertyConfiguration, id, ".jpg", hasIgnoreKeyword: false, hasDateTimeOriginal: false, index: null);
string? imageFalseFalsePositive = IId.GetPaddedId(_PropertyConfiguration, id, string.Empty, ".jpg", hasIgnoreKeyword: false, hasDateTimeOriginal: false, index: null);
Assert.AreEqual("816184700397", imageFalseFalsePositive);
string imageFalseTruePositive = IId.GetPaddedId(_PropertyConfiguration, id, ".jpg", hasIgnoreKeyword: false, hasDateTimeOriginal: true, index: null);
string? imageFalseTruePositive = IId.GetPaddedId(_PropertyConfiguration, id, string.Empty, ".jpg", hasIgnoreKeyword: false, hasDateTimeOriginal: true, index: null);
Assert.AreEqual("816184700399", imageFalseTruePositive);
try
{ string videoTrueTruePositive = IId.GetPaddedId(_PropertyConfiguration, id, ".mov", hasIgnoreKeyword: true, hasDateTimeOriginal: true, index: null); }
{ string? videoTrueTruePositive = IId.GetPaddedId(_PropertyConfiguration, id, string.Empty, ".mov", hasIgnoreKeyword: true, hasDateTimeOriginal: true, index: null); }
catch (Exception)
{ }
try
{ string videoTrueFalsePositive = IId.GetPaddedId(_PropertyConfiguration, id, ".mov", hasIgnoreKeyword: true, hasDateTimeOriginal: false, index: null); }
{ string? videoTrueFalsePositive = IId.GetPaddedId(_PropertyConfiguration, id, string.Empty, ".mov", hasIgnoreKeyword: true, hasDateTimeOriginal: false, index: null); }
catch (Exception)
{ }
string videoFalseFalsePositive = IId.GetPaddedId(_PropertyConfiguration, id, ".mov", hasIgnoreKeyword: false, hasDateTimeOriginal: false, index: null);
string? videoFalseFalsePositive = IId.GetPaddedId(_PropertyConfiguration, id, string.Empty, ".mov", hasIgnoreKeyword: false, hasDateTimeOriginal: false, index: null);
Assert.AreEqual("816184700395", videoFalseFalsePositive);
string videoFalseTruePositive = IId.GetPaddedId(_PropertyConfiguration, id, ".mov", hasIgnoreKeyword: false, hasDateTimeOriginal: true, index: null);
string? videoFalseTruePositive = IId.GetPaddedId(_PropertyConfiguration, id, string.Empty, ".mov", hasIgnoreKeyword: false, hasDateTimeOriginal: true, index: null);
Assert.AreEqual("816184700396", videoFalseTruePositive);
id = -748161839;
string imageTrueTrueNegative = IId.GetPaddedId(_PropertyConfiguration, id, ".jpg", hasIgnoreKeyword: true, hasDateTimeOriginal: true, index: null);
string? imageTrueTrueNegative = IId.GetPaddedId(_PropertyConfiguration, id, string.Empty, ".jpg", hasIgnoreKeyword: true, hasDateTimeOriginal: true, index: null);
Assert.AreEqual("816184700392", imageTrueTrueNegative);
string imageTrueFalseNegative = IId.GetPaddedId(_PropertyConfiguration, id, ".jpg", hasIgnoreKeyword: true, hasDateTimeOriginal: false, index: null);
string? imageTrueFalseNegative = IId.GetPaddedId(_PropertyConfiguration, id, string.Empty, ".jpg", hasIgnoreKeyword: true, hasDateTimeOriginal: false, index: null);
Assert.AreEqual("816184700392", imageTrueFalseNegative);
string imageFalseFalseNegative = IId.GetPaddedId(_PropertyConfiguration, id, ".jpg", hasIgnoreKeyword: false, hasDateTimeOriginal: false, index: null);
string? imageFalseFalseNegative = IId.GetPaddedId(_PropertyConfiguration, id, string.Empty, ".jpg", hasIgnoreKeyword: false, hasDateTimeOriginal: false, index: null);
Assert.AreEqual("816184700393", imageFalseFalseNegative);
string imageFalseTrueNegative = IId.GetPaddedId(_PropertyConfiguration, id, ".jpg", hasIgnoreKeyword: false, hasDateTimeOriginal: true, index: null);
string? imageFalseTrueNegative = IId.GetPaddedId(_PropertyConfiguration, id, string.Empty, ".jpg", hasIgnoreKeyword: false, hasDateTimeOriginal: true, index: null);
Assert.AreEqual("816184700391", imageFalseTrueNegative);
try
{ string videoTrueTrueNegative = IId.GetPaddedId(_PropertyConfiguration, id, ".mov", hasIgnoreKeyword: true, hasDateTimeOriginal: true, index: null); }
{ string? videoTrueTrueNegative = IId.GetPaddedId(_PropertyConfiguration, id, string.Empty, ".mov", hasIgnoreKeyword: true, hasDateTimeOriginal: true, index: null); }
catch (Exception)
{ }
try
{ string videoTrueFalseNegative = IId.GetPaddedId(_PropertyConfiguration, id, ".mov", hasIgnoreKeyword: true, hasDateTimeOriginal: false, index: null); }
{ string? videoTrueFalseNegative = IId.GetPaddedId(_PropertyConfiguration, id, string.Empty, ".mov", hasIgnoreKeyword: true, hasDateTimeOriginal: false, index: null); }
catch (Exception)
{ }
string videoFalseFalseNegative = IId.GetPaddedId(_PropertyConfiguration, id, ".mov", hasIgnoreKeyword: false, hasDateTimeOriginal: false, index: null);
string? videoFalseFalseNegative = IId.GetPaddedId(_PropertyConfiguration, id, string.Empty, ".mov", hasIgnoreKeyword: false, hasDateTimeOriginal: false, index: null);
Assert.AreEqual("816184700390", videoFalseFalseNegative);
string videoFalseTrueNegative = IId.GetPaddedId(_PropertyConfiguration, id, ".mov", hasIgnoreKeyword: false, hasDateTimeOriginal: true, index: null);
string? videoFalseTrueNegative = IId.GetPaddedId(_PropertyConfiguration, id, string.Empty, ".mov", hasIgnoreKeyword: false, hasDateTimeOriginal: true, index: null);
Assert.AreEqual("816184700394", videoFalseTrueNegative);
NonThrowTryCatch();
}

View File

@ -87,26 +87,21 @@ public class UnitTestResize
string sourceFileName = "105131603001106320328.jpg";
string sourceDirectoryName = "Mike iCloud Have Date Taken 2022 !9";
Item item;
bool reverse = false;
bool isArchive = false;
FileHolder resizedFileHolder;
long ticks = DateTime.Now.Ticks;
List<string> parseExceptions = [];
string[] changesFrom = [nameof(A_Metadata)];
const bool isValidImageFormatExtension = true;
List<Tuple<string, DateTime>> subFileTuples = [];
int length = _PropertyConfiguration.RootDirectory.Length;
string[] changesFrom = [nameof(A_Property)];
string outputResolution = _Configuration.OutputResolutions[0];
string aResultsFullGroupDirectory = GetResultsFullGroupDirectories();
bool outputResolutionHasNumber = outputResolution.Any(char.IsNumber);
(string cResultsFullGroupDirectory, _, _) = GetResultsFullGroupDirectories(outputResolution);
(string aResultsFullGroupDirectory, string bResultsFullGroupDirectory) = GetResultsFullGroupDirectories();
Shared.Models.Methods.IBlurHasher blurHasher = new BlurHash.Models.C2_BlurHasher(_PropertyConfiguration);
A_Property propertyLogic = GetPropertyLogic(reverse, aResultsFullGroupDirectory);
string aPropertySingletonDirectory = Path.Combine(aResultsFullGroupDirectory, "{}");
if (!Directory.Exists(aPropertySingletonDirectory))
_ = Directory.CreateDirectory(aPropertySingletonDirectory);
(ImageCodecInfo imageCodecInfo, EncoderParameters encoderParameters, string filenameExtension) = C_Resize.GetTuple(_Configuration.OutputExtension, _Configuration.OutputQuality);
B_Metadata metadata = new(null, _PropertyConfiguration, _Configuration.ForceMetadataLastWriteTimeToCreationTime, _Configuration.PropertiesChangedForMetadata, ticks, bResultsFullGroupDirectory);
A_Metadata metadata = new(null, _PropertyConfiguration, _Configuration.ForceMetadataLastWriteTimeToCreationTime, _Configuration.PropertiesChangedForMetadata, ticks, aResultsFullGroupDirectory);
_ = metadata.ToString();
C_Resize resize = new(_PropertyConfiguration, _Configuration.ForceResizeLastWriteTimeToCreationTime, _Configuration.OverrideForResizeImages, _Configuration.PropertiesChangedForResize, _Configuration.ValidResolutions, imageCodecInfo, encoderParameters, filenameExtension);
_ = resize.ToString();
@ -119,8 +114,6 @@ public class UnitTestResize
Assert.IsNotNull(filePath.Id);
string relativePath = IPath.GetRelativePath(fileHolder.FullName, length);
ExifDirectory? exifDirectory = Metadata.Models.Stateless.Methods.IMetadata.GetExifDirectory(filePath);
string propertyLogicSourceDirectory = Path.GetFullPath(Path.Combine(aPropertySingletonDirectory, sourceDirectoryName));
propertyLogic.SetAngleBracketCollection(aResultsFullGroupDirectory, propertyLogicSourceDirectory);
if (outputResolutionHasNumber)
resize.SetAngleBracketCollection(cResultsFullGroupDirectory, sourceDirectory);
resize.Update(cResultsFullGroupDirectory);
@ -144,23 +137,16 @@ public class UnitTestResize
NonThrowTryCatch();
}
private (string, string) GetResultsFullGroupDirectories()
private string GetResultsFullGroupDirectories()
{
string aResultsFullGroupDirectory = Property.Models.Stateless.IResult.GetResultsFullGroupDirectory(
_PropertyConfiguration,
nameof(A_Property),
string result = Property.Models.Stateless.IResult.GetResultsFullGroupDirectory(
_Configuration.PropertyConfiguration,
nameof(A_Metadata),
string.Empty,
includeResizeGroup: false,
includeModel: false,
includePredictorModel: false);
string bResultsFullGroupDirectory = Property.Models.Stateless.IResult.GetResultsFullGroupDirectory(
_PropertyConfiguration,
nameof(B_Metadata),
string.Empty,
includeResizeGroup: false,
includeModel: false,
includePredictorModel: false);
return new(aResultsFullGroupDirectory, bResultsFullGroupDirectory);
return new(result);
}
private (string, string, string) GetResultsFullGroupDirectories(string outputResolution)
@ -177,13 +163,4 @@ public class UnitTestResize
return new(cResultsFullGroupDirectory, dResultsFullGroupDirectory, d2ResultsFullGroupDirectory);
}
private A_Property GetPropertyLogic(bool reverse, string aResultsFullGroupDirectory)
{
A_Property result;
if (_Configuration?.PropertyConfiguration is null)
throw new NullReferenceException(nameof(_PropertyConfiguration));
result = new(_AppSettings.MaxDegreeOfParallelism, _PropertyConfiguration, _Configuration.OutputExtension, reverse, aResultsFullGroupDirectory);
return result;
}
}