Removed IsIgnoreRelativePath
This commit is contained in:
parent
7a429de157
commit
ed01d4996b
@ -439,8 +439,6 @@ public partial class E_Distance : IDistance<MetadataExtractor.Directory>
|
|||||||
continue;
|
continue;
|
||||||
if (faceDistanceContainer.Face.Mapping.MappingFromFilter.IsFocusRelativePath is not null && !faceDistanceContainer.Face.Mapping.MappingFromFilter.IsFocusRelativePath.Value)
|
if (faceDistanceContainer.Face.Mapping.MappingFromFilter.IsFocusRelativePath is not null && !faceDistanceContainer.Face.Mapping.MappingFromFilter.IsFocusRelativePath.Value)
|
||||||
continue;
|
continue;
|
||||||
if (faceDistanceContainer.Face.Mapping.MappingFromFilter.IsIgnoreRelativePath is not null && faceDistanceContainer.Face.Mapping.MappingFromFilter.IsIgnoreRelativePath.Value)
|
|
||||||
continue;
|
|
||||||
results.Add(faceDistanceContainer);
|
results.Add(faceDistanceContainer);
|
||||||
}
|
}
|
||||||
return results.ToArray();
|
return results.ToArray();
|
||||||
|
@ -18,7 +18,6 @@ public class Configuration
|
|||||||
[Display(Name = "Force Metadata Last Write Time to Creation Time"), Required] public bool? ForceMetadataLastWriteTimeToCreationTime { get; set; }
|
[Display(Name = "Force Metadata Last Write Time to Creation Time"), Required] public bool? ForceMetadataLastWriteTimeToCreationTime { get; set; }
|
||||||
[Display(Name = "Force Resize Last Write Time to Creation Time"), Required] public bool? ForceResizeLastWriteTimeToCreationTime { get; set; }
|
[Display(Name = "Force Resize Last Write Time to Creation Time"), Required] public bool? ForceResizeLastWriteTimeToCreationTime { get; set; }
|
||||||
[Display(Name = "Ignore Extensions"), Required] public string[] IgnoreExtensions { get; set; }
|
[Display(Name = "Ignore Extensions"), Required] public string[] IgnoreExtensions { get; set; }
|
||||||
[Display(Name = "Ignore Relative Paths"), Required] public string[] IgnoreRelativePaths { get; set; }
|
|
||||||
[Display(Name = "Julie Phares Copy Birthdays"), Required] public string[] JLinks { get; set; }
|
[Display(Name = "Julie Phares Copy Birthdays"), Required] public string[] JLinks { get; set; }
|
||||||
[Display(Name = "Load Or Create Then Save Distance Results"), Required] public string[] LoadOrCreateThenSaveDistanceResultsForOutputResolutions { get; set; }
|
[Display(Name = "Load Or Create Then Save Distance Results"), Required] public string[] LoadOrCreateThenSaveDistanceResultsForOutputResolutions { get; set; }
|
||||||
[Display(Name = "Load Or Create Then Save Image Faces Results"), Required] public string[] LoadOrCreateThenSaveImageFacesResultsForOutputResolutions { get; set; }
|
[Display(Name = "Load Or Create Then Save Image Faces Results"), Required] public string[] LoadOrCreateThenSaveImageFacesResultsForOutputResolutions { get; set; }
|
||||||
@ -80,8 +79,6 @@ public class Configuration
|
|||||||
throw new NullReferenceException(nameof(configuration.ForceResizeLastWriteTimeToCreationTime));
|
throw new NullReferenceException(nameof(configuration.ForceResizeLastWriteTimeToCreationTime));
|
||||||
if (configuration.IgnoreExtensions is null)
|
if (configuration.IgnoreExtensions is null)
|
||||||
throw new NullReferenceException(nameof(configuration.IgnoreExtensions));
|
throw new NullReferenceException(nameof(configuration.IgnoreExtensions));
|
||||||
if (configuration.IgnoreRelativePaths is null)
|
|
||||||
throw new NullReferenceException(nameof(configuration.IgnoreRelativePaths));
|
|
||||||
configuration.LoadOrCreateThenSaveDistanceResultsForOutputResolutions ??= Array.Empty<string>();
|
configuration.LoadOrCreateThenSaveDistanceResultsForOutputResolutions ??= Array.Empty<string>();
|
||||||
configuration.LoadOrCreateThenSaveImageFacesResultsForOutputResolutions ??= Array.Empty<string>();
|
configuration.LoadOrCreateThenSaveImageFacesResultsForOutputResolutions ??= Array.Empty<string>();
|
||||||
if (configuration.MixedYearRelativePaths is null)
|
if (configuration.MixedYearRelativePaths is null)
|
||||||
@ -136,7 +133,6 @@ public class Configuration
|
|||||||
configuration.ForceMetadataLastWriteTimeToCreationTime.Value,
|
configuration.ForceMetadataLastWriteTimeToCreationTime.Value,
|
||||||
configuration.ForceResizeLastWriteTimeToCreationTime.Value,
|
configuration.ForceResizeLastWriteTimeToCreationTime.Value,
|
||||||
configuration.IgnoreExtensions,
|
configuration.IgnoreExtensions,
|
||||||
configuration.IgnoreRelativePaths,
|
|
||||||
configuration.JLinks,
|
configuration.JLinks,
|
||||||
configuration.LoadOrCreateThenSaveDistanceResultsForOutputResolutions,
|
configuration.LoadOrCreateThenSaveDistanceResultsForOutputResolutions,
|
||||||
configuration.LoadOrCreateThenSaveImageFacesResultsForOutputResolutions,
|
configuration.LoadOrCreateThenSaveImageFacesResultsForOutputResolutions,
|
||||||
|
@ -17,7 +17,6 @@ public class Configuration
|
|||||||
public bool ForceMetadataLastWriteTimeToCreationTime { init; get; }
|
public bool ForceMetadataLastWriteTimeToCreationTime { init; get; }
|
||||||
public bool ForceResizeLastWriteTimeToCreationTime { init; get; }
|
public bool ForceResizeLastWriteTimeToCreationTime { init; get; }
|
||||||
public string[] IgnoreExtensions { init; get; }
|
public string[] IgnoreExtensions { init; get; }
|
||||||
public string[] IgnoreRelativePaths { init; get; }
|
|
||||||
public string[] JLinks { init; get; }
|
public string[] JLinks { init; get; }
|
||||||
public string[] LoadOrCreateThenSaveDistanceResultsForOutputResolutions { init; get; }
|
public string[] LoadOrCreateThenSaveDistanceResultsForOutputResolutions { init; get; }
|
||||||
public string[] LoadOrCreateThenSaveImageFacesResultsForOutputResolutions { init; get; }
|
public string[] LoadOrCreateThenSaveImageFacesResultsForOutputResolutions { init; get; }
|
||||||
@ -59,7 +58,6 @@ public class Configuration
|
|||||||
bool forceMetadataLastWriteTimeToCreationTime,
|
bool forceMetadataLastWriteTimeToCreationTime,
|
||||||
bool forceResizeLastWriteTimeToCreationTime,
|
bool forceResizeLastWriteTimeToCreationTime,
|
||||||
string[] ignoreExtensions,
|
string[] ignoreExtensions,
|
||||||
string[] ignoreRelativePaths,
|
|
||||||
string[] jLinks,
|
string[] jLinks,
|
||||||
string[] loadOrCreateThenSaveDistanceResultsForOutputResolutions,
|
string[] loadOrCreateThenSaveDistanceResultsForOutputResolutions,
|
||||||
string[] loadOrCreateThenSaveImageFacesResultsForOutputResolutions,
|
string[] loadOrCreateThenSaveImageFacesResultsForOutputResolutions,
|
||||||
@ -100,7 +98,6 @@ public class Configuration
|
|||||||
ForceMetadataLastWriteTimeToCreationTime = forceMetadataLastWriteTimeToCreationTime;
|
ForceMetadataLastWriteTimeToCreationTime = forceMetadataLastWriteTimeToCreationTime;
|
||||||
ForceResizeLastWriteTimeToCreationTime = forceResizeLastWriteTimeToCreationTime;
|
ForceResizeLastWriteTimeToCreationTime = forceResizeLastWriteTimeToCreationTime;
|
||||||
IgnoreExtensions = ignoreExtensions;
|
IgnoreExtensions = ignoreExtensions;
|
||||||
IgnoreRelativePaths = ignoreRelativePaths;
|
|
||||||
JLinks = jLinks;
|
JLinks = jLinks;
|
||||||
LoadOrCreateThenSaveDistanceResultsForOutputResolutions = loadOrCreateThenSaveDistanceResultsForOutputResolutions;
|
LoadOrCreateThenSaveDistanceResultsForOutputResolutions = loadOrCreateThenSaveDistanceResultsForOutputResolutions;
|
||||||
LoadOrCreateThenSaveImageFacesResultsForOutputResolutions = loadOrCreateThenSaveImageFacesResultsForOutputResolutions;
|
LoadOrCreateThenSaveImageFacesResultsForOutputResolutions = loadOrCreateThenSaveImageFacesResultsForOutputResolutions;
|
||||||
|
@ -27,24 +27,6 @@ public class Program
|
|||||||
return results.ToArray();
|
return results.ToArray();
|
||||||
}
|
}
|
||||||
|
|
||||||
private static bool IsIgnoreRelativePath(Models.Configuration configuration, string directory)
|
|
||||||
{
|
|
||||||
bool result = false;
|
|
||||||
string? checkDirectory = Path.GetFullPath(directory);
|
|
||||||
for (int i = 0; i < int.MaxValue; i++)
|
|
||||||
{
|
|
||||||
if (configuration.IgnoreRelativePaths.Contains(Path.GetFileName(checkDirectory)))
|
|
||||||
{
|
|
||||||
result = true;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
checkDirectory = Path.GetDirectoryName(checkDirectory);
|
|
||||||
if (string.IsNullOrEmpty(checkDirectory) || checkDirectory == configuration.PropertyConfiguration.RootDirectory)
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static List<Item> GetItemCollection(Models.Configuration configuration, Container[] containers)
|
public static List<Item> GetItemCollection(Models.Configuration configuration, Container[] containers)
|
||||||
{
|
{
|
||||||
List<Item> results = new();
|
List<Item> results = new();
|
||||||
@ -53,8 +35,6 @@ public class Program
|
|||||||
{
|
{
|
||||||
if (!container.Items.Any())
|
if (!container.Items.Any())
|
||||||
continue;
|
continue;
|
||||||
if (configuration.IgnoreRelativePaths.Any(l => container.SourceDirectory.Contains(l)) && IsIgnoreRelativePath(configuration, container.SourceDirectory))
|
|
||||||
continue;
|
|
||||||
filteredItems = GetFilterItems(configuration, container);
|
filteredItems = GetFilterItems(configuration, container);
|
||||||
if (!filteredItems.Any())
|
if (!filteredItems.Any())
|
||||||
continue;
|
continue;
|
||||||
|
@ -140,7 +140,7 @@ public class DuplicateSearch
|
|||||||
(f, containers) = Shared.Models.Stateless.Methods.IContainer.GetContainers(configuration, aPropertySingletonDirectory);
|
(f, containers) = Shared.Models.Stateless.Methods.IContainer.GetContainers(configuration, aPropertySingletonDirectory);
|
||||||
}
|
}
|
||||||
if (appSettings.SortContainers)
|
if (appSettings.SortContainers)
|
||||||
containers = Shared.Models.Stateless.Methods.IContainer.SortContainers(configuration, appSettings.IgnoreRelativePaths, argZeroIsConfigurationRootDirectory, argZero, containers);
|
containers = Shared.Models.Stateless.Methods.IContainer.SortContainers(argZeroIsConfigurationRootDirectory, argZero, containers);
|
||||||
return containers;
|
return containers;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -8,7 +8,6 @@ public class AppSettings
|
|||||||
|
|
||||||
public string Company { init; get; }
|
public string Company { init; get; }
|
||||||
public bool IndexOnly { init; get; }
|
public bool IndexOnly { init; get; }
|
||||||
public string[] IgnoreRelativePaths { init; get; }
|
|
||||||
public int MaxDegreeOfParallelism { init; get; }
|
public int MaxDegreeOfParallelism { init; get; }
|
||||||
public string OutputExtension { init; get; }
|
public string OutputExtension { init; get; }
|
||||||
public bool SortContainers { init; get; }
|
public bool SortContainers { init; get; }
|
||||||
@ -16,11 +15,10 @@ public class AppSettings
|
|||||||
public string WorkingDirectoryName { init; get; }
|
public string WorkingDirectoryName { init; get; }
|
||||||
|
|
||||||
[JsonConstructor]
|
[JsonConstructor]
|
||||||
public AppSettings(string company, bool indexOnly, string[] ignoreRelativePaths, int maxDegreeOfParallelism, string outputExtension, bool sortContainers, bool reverse, string workingDirectoryName)
|
public AppSettings(string company, bool indexOnly, int maxDegreeOfParallelism, string outputExtension, bool sortContainers, bool reverse, string workingDirectoryName)
|
||||||
{
|
{
|
||||||
Company = company;
|
Company = company;
|
||||||
IndexOnly = indexOnly;
|
IndexOnly = indexOnly;
|
||||||
IgnoreRelativePaths = ignoreRelativePaths;
|
|
||||||
MaxDegreeOfParallelism = maxDegreeOfParallelism;
|
MaxDegreeOfParallelism = maxDegreeOfParallelism;
|
||||||
OutputExtension = outputExtension;
|
OutputExtension = outputExtension;
|
||||||
SortContainers = sortContainers;
|
SortContainers = sortContainers;
|
||||||
|
@ -10,7 +10,6 @@ public class AppSettings
|
|||||||
|
|
||||||
public string Company { get; set; }
|
public string Company { get; set; }
|
||||||
public bool? IndexOnly { get; set; }
|
public bool? IndexOnly { get; set; }
|
||||||
public string[] IgnoreRelativePaths { get; set; }
|
|
||||||
public int? MaxDegreeOfParallelism { get; set; }
|
public int? MaxDegreeOfParallelism { get; set; }
|
||||||
public string OutputExtension { get; set; }
|
public string OutputExtension { get; set; }
|
||||||
public bool? SortContainers { get; set; }
|
public bool? SortContainers { get; set; }
|
||||||
@ -30,8 +29,6 @@ public class AppSettings
|
|||||||
Models.AppSettings result;
|
Models.AppSettings result;
|
||||||
if (appSettings?.IndexOnly is null)
|
if (appSettings?.IndexOnly is null)
|
||||||
throw new NullReferenceException(nameof(appSettings.IndexOnly));
|
throw new NullReferenceException(nameof(appSettings.IndexOnly));
|
||||||
if (appSettings?.IgnoreRelativePaths is null)
|
|
||||||
throw new NullReferenceException(nameof(appSettings.IgnoreRelativePaths));
|
|
||||||
if (appSettings?.MaxDegreeOfParallelism is null)
|
if (appSettings?.MaxDegreeOfParallelism is null)
|
||||||
throw new NullReferenceException(nameof(appSettings.MaxDegreeOfParallelism));
|
throw new NullReferenceException(nameof(appSettings.MaxDegreeOfParallelism));
|
||||||
if (appSettings?.SortContainers is null)
|
if (appSettings?.SortContainers is null)
|
||||||
@ -41,7 +38,6 @@ public class AppSettings
|
|||||||
result = new(
|
result = new(
|
||||||
appSettings.Company,
|
appSettings.Company,
|
||||||
appSettings.IndexOnly.Value,
|
appSettings.IndexOnly.Value,
|
||||||
appSettings.IgnoreRelativePaths,
|
|
||||||
appSettings.MaxDegreeOfParallelism.Value,
|
appSettings.MaxDegreeOfParallelism.Value,
|
||||||
appSettings.OutputExtension,
|
appSettings.OutputExtension,
|
||||||
appSettings.SortContainers.Value,
|
appSettings.SortContainers.Value,
|
||||||
|
@ -289,7 +289,7 @@ public partial class DlibDotNet
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
private int GetNotMappedCountAndSetMapping(MapLogic mapLogic, Item item, bool? isFocusRelativePath, bool? isIgnoreRelativePath, ReadOnlyCollection<LocationContainer<MetadataExtractor.Directory>> locationContainers, MappingFromItem mappingFromItem, List<MappingFromPhotoPrism>? mappingFromPhotoPrismCollection, List<Shared.Models.Face> faces)
|
private int GetNotMappedCountAndSetMapping(MapLogic mapLogic, Item item, bool? isFocusRelativePath, ReadOnlyCollection<LocationContainer<MetadataExtractor.Directory>> locationContainers, MappingFromItem mappingFromItem, List<MappingFromPhotoPrism>? mappingFromPhotoPrismCollection, List<Shared.Models.Face> faces)
|
||||||
{
|
{
|
||||||
int result;
|
int result;
|
||||||
double? α;
|
double? α;
|
||||||
@ -319,7 +319,7 @@ public partial class DlibDotNet
|
|||||||
isFocusPerson = null;
|
isFocusPerson = null;
|
||||||
inSkipCollection = null;
|
inSkipCollection = null;
|
||||||
mappingFromLocation = null;
|
mappingFromLocation = null;
|
||||||
mappingFromFilter = new(isFocusModel, isFocusPerson, isFocusRelativePath, isIgnoreRelativePath, inSkipCollection, isUsed);
|
mappingFromFilter = new(isFocusModel, isFocusPerson, isFocusRelativePath, inSkipCollection, isUsed);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -338,7 +338,7 @@ public partial class DlibDotNet
|
|||||||
isUsed = mapLogic.IsUsed(ignoreXMatches, item.Property.Id.Value, wholePercentagesToPersonContainers, mappingFromLocation);
|
isUsed = mapLogic.IsUsed(ignoreXMatches, item.Property.Id.Value, wholePercentagesToPersonContainers, mappingFromLocation);
|
||||||
inSkipCollection = mapLogic.InSkipCollection(item.Property.Id.Value, mappingFromLocation);
|
inSkipCollection = mapLogic.InSkipCollection(item.Property.Id.Value, mappingFromLocation);
|
||||||
isFocusPerson = mapLogic.IsFocusPerson(_Configuration.SkipPersonWithMoreThen, _JLinkResolvedDirectories, wholePercentagesToPersonContainers, mappingFromLocation);
|
isFocusPerson = mapLogic.IsFocusPerson(_Configuration.SkipPersonWithMoreThen, _JLinkResolvedDirectories, wholePercentagesToPersonContainers, mappingFromLocation);
|
||||||
mappingFromFilter = new(isFocusModel, isFocusPerson, isFocusRelativePath, isIgnoreRelativePath, inSkipCollection, isUsed);
|
mappingFromFilter = new(isFocusModel, isFocusPerson, isFocusRelativePath, inSkipCollection, isUsed);
|
||||||
}
|
}
|
||||||
mapping = new(mappingFromItem, mappingFromFilter, mappingFromLocation, mappingFromPhotoPrismCollection);
|
mapping = new(mappingFromItem, mappingFromFilter, mappingFromLocation, mappingFromPhotoPrismCollection);
|
||||||
notMapped += mapLogic.UpdateMappingFromPerson(locationContainersFiles, wholePercentagesToPersonContainers, mapping);
|
notMapped += mapLogic.UpdateMappingFromPerson(locationContainersFiles, wholePercentagesToPersonContainers, mapping);
|
||||||
@ -348,7 +348,7 @@ public partial class DlibDotNet
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
private (Mapping, int) GetMapping(MapLogic mapLogic, ReadOnlyCollection<string>? locationContainersFiles, Item item, bool? isFocusRelativePath, bool? isIgnoreRelativePath, MappingFromItem mappingFromItem)
|
private (Mapping, int) GetMapping(MapLogic mapLogic, ReadOnlyCollection<string>? locationContainersFiles, Item item, bool? isFocusRelativePath, MappingFromItem mappingFromItem)
|
||||||
{
|
{
|
||||||
Mapping result;
|
Mapping result;
|
||||||
bool? isUsed;
|
bool? isUsed;
|
||||||
@ -371,7 +371,7 @@ public partial class DlibDotNet
|
|||||||
isFocusPerson = null;
|
isFocusPerson = null;
|
||||||
inSkipCollection = null;
|
inSkipCollection = null;
|
||||||
mappingFromLocation = null;
|
mappingFromLocation = null;
|
||||||
mappingFromFilter = new(isFocusModel, isFocusPerson, isFocusRelativePath, isIgnoreRelativePath, inSkipCollection, isUsed);
|
mappingFromFilter = new(isFocusModel, isFocusPerson, isFocusRelativePath, inSkipCollection, isUsed);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -381,7 +381,7 @@ public partial class DlibDotNet
|
|||||||
isUsed = mapLogic.IsUsed(ignoreXMatches, item.Property.Id.Value, wholePercentagesToPersonContainers, mappingFromLocation);
|
isUsed = mapLogic.IsUsed(ignoreXMatches, item.Property.Id.Value, wholePercentagesToPersonContainers, mappingFromLocation);
|
||||||
inSkipCollection = mapLogic.InSkipCollection(item.Property.Id.Value, mappingFromLocation);
|
inSkipCollection = mapLogic.InSkipCollection(item.Property.Id.Value, mappingFromLocation);
|
||||||
isFocusPerson = mapLogic.IsFocusPerson(_Configuration.SkipPersonWithMoreThen, _JLinkResolvedDirectories, wholePercentagesToPersonContainers, mappingFromLocation);
|
isFocusPerson = mapLogic.IsFocusPerson(_Configuration.SkipPersonWithMoreThen, _JLinkResolvedDirectories, wholePercentagesToPersonContainers, mappingFromLocation);
|
||||||
mappingFromFilter = new(isFocusModel, isFocusPerson, isFocusRelativePath, isIgnoreRelativePath, inSkipCollection, isUsed);
|
mappingFromFilter = new(isFocusModel, isFocusPerson, isFocusRelativePath, inSkipCollection, isUsed);
|
||||||
}
|
}
|
||||||
result = new(mappingFromItem, mappingFromFilter, mappingFromLocation, mappingFromPhotoPrismCollection: null);
|
result = new(mappingFromItem, mappingFromFilter, mappingFromLocation, mappingFromPhotoPrismCollection: null);
|
||||||
int notMapped = mapLogic.UpdateMappingFromPerson(locationContainersFiles, wholePercentagesToPersonContainers, result);
|
int notMapped = mapLogic.UpdateMappingFromPerson(locationContainersFiles, wholePercentagesToPersonContainers, result);
|
||||||
@ -425,7 +425,6 @@ public partial class DlibDotNet
|
|||||||
Item item,
|
Item item,
|
||||||
DateTime[] containerDateTimes,
|
DateTime[] containerDateTimes,
|
||||||
bool? isFocusRelativePath,
|
bool? isFocusRelativePath,
|
||||||
bool? isIgnoreRelativePath,
|
|
||||||
string facePartsCollectionDirectory)
|
string facePartsCollectionDirectory)
|
||||||
{
|
{
|
||||||
int result = 0;
|
int result = 0;
|
||||||
@ -505,7 +504,7 @@ public partial class DlibDotNet
|
|||||||
faces = _Faces.GetFaces(outputResolution, dResultsFullGroupDirectory, subFileTuples, parseExceptions, property, mappingFromItem, outputResolutionToResize, locationContainers, mappingFromPhotoPrismCollection);
|
faces = _Faces.GetFaces(outputResolution, dResultsFullGroupDirectory, subFileTuples, parseExceptions, property, mappingFromItem, outputResolutionToResize, locationContainers, mappingFromPhotoPrismCollection);
|
||||||
if (_AppSettings.MaxDegreeOfParallelism < 2)
|
if (_AppSettings.MaxDegreeOfParallelism < 2)
|
||||||
ticks = LogDelta(ticks, nameof(D_Face.GetFaces));
|
ticks = LogDelta(ticks, nameof(D_Face.GetFaces));
|
||||||
result = GetNotMappedCountAndSetMapping(mapLogic, item, isFocusRelativePath, isIgnoreRelativePath, locationContainers, mappingFromItem, mappingFromPhotoPrismCollection, faces);
|
result = GetNotMappedCountAndSetMapping(mapLogic, item, isFocusRelativePath, locationContainers, mappingFromItem, mappingFromPhotoPrismCollection, faces);
|
||||||
List<(Shared.Models.Face, FileInfo?, string, bool Saved)> faceCollection = _Faces.SaveFaces(_FaceParts.FileNameExtension, dResultsFullGroupDirectory, subFileTuples, parseExceptions, mappingFromItem, faces);
|
List<(Shared.Models.Face, FileInfo?, string, bool Saved)> faceCollection = _Faces.SaveFaces(_FaceParts.FileNameExtension, dResultsFullGroupDirectory, subFileTuples, parseExceptions, mappingFromItem, faces);
|
||||||
if (_Configuration.CopyFacesAndSaveFaceLandmarkForOutputResolutions.Contains(outputResolution))
|
if (_Configuration.CopyFacesAndSaveFaceLandmarkForOutputResolutions.Contains(outputResolution))
|
||||||
_FaceParts.CopyFacesAndSaveFaceLandmarkImage(facePartsCollectionDirectory, mappingFromItem, faceCollection);
|
_FaceParts.CopyFacesAndSaveFaceLandmarkImage(facePartsCollectionDirectory, mappingFromItem, faceCollection);
|
||||||
@ -559,7 +558,6 @@ public partial class DlibDotNet
|
|||||||
string focusRelativePath = Path.GetFullPath(string.Concat(_Configuration.PropertyConfiguration.RootDirectory, _Configuration.FocusDirectory));
|
string focusRelativePath = Path.GetFullPath(string.Concat(_Configuration.PropertyConfiguration.RootDirectory, _Configuration.FocusDirectory));
|
||||||
bool? isFocusRelativePath = string.IsNullOrEmpty(_Configuration.FocusDirectory) ? null : container.SourceDirectory.StartsWith(focusRelativePath);
|
bool? isFocusRelativePath = string.IsNullOrEmpty(_Configuration.FocusDirectory) ? null : container.SourceDirectory.StartsWith(focusRelativePath);
|
||||||
string facePartsCollectionDirectory = _Configuration.CopyFacesAndSaveFaceLandmarkForOutputResolutions.Contains(outputResolution) ? _FaceParts.GetFacePartsDirectory(_Configuration.PropertyConfiguration, d2ResultsFullGroupDirectory, item: filteredItems.First(), includeNameWithoutExtension: false) : string.Empty;
|
string facePartsCollectionDirectory = _Configuration.CopyFacesAndSaveFaceLandmarkForOutputResolutions.Contains(outputResolution) ? _FaceParts.GetFacePartsDirectory(_Configuration.PropertyConfiguration, d2ResultsFullGroupDirectory, item: filteredItems.First(), includeNameWithoutExtension: false) : string.Empty;
|
||||||
bool? isIgnoreRelativePath = _Configuration.IgnoreRelativePaths.Length == 0 ? null : _Configuration.IgnoreRelativePaths.Any(l => container.SourceDirectory.Contains(l)) && Shared.Models.Stateless.Methods.IContainer.IsIgnoreRelativePath(_Configuration.PropertyConfiguration, _Configuration.IgnoreRelativePaths, container.SourceDirectory);
|
|
||||||
using ProgressBar progressBar = new(filteredItems.Length, message, options);
|
using ProgressBar progressBar = new(filteredItems.Length, message, options);
|
||||||
_ = Parallel.For(0, filteredItems.Length, parallelOptions, (i, state) =>
|
_ = Parallel.For(0, filteredItems.Length, parallelOptions, (i, state) =>
|
||||||
{
|
{
|
||||||
@ -580,7 +578,6 @@ public partial class DlibDotNet
|
|||||||
filteredItems[i],
|
filteredItems[i],
|
||||||
containerDateTimes,
|
containerDateTimes,
|
||||||
isFocusRelativePath,
|
isFocusRelativePath,
|
||||||
isIgnoreRelativePath,
|
|
||||||
facePartsCollectionDirectory);
|
facePartsCollectionDirectory);
|
||||||
if (i == 0 || sourceDirectoryChanges.Count > 0)
|
if (i == 0 || sourceDirectoryChanges.Count > 0)
|
||||||
progressBar.Tick();
|
progressBar.Tick();
|
||||||
@ -908,7 +905,6 @@ public partial class DlibDotNet
|
|||||||
bool anyValidFaces;
|
bool anyValidFaces;
|
||||||
string focusRelativePath;
|
string focusRelativePath;
|
||||||
bool? isFocusRelativePath;
|
bool? isFocusRelativePath;
|
||||||
bool? isIgnoreRelativePath;
|
|
||||||
List<int> distinct = new();
|
List<int> distinct = new();
|
||||||
DateTime[] containerDateTimes;
|
DateTime[] containerDateTimes;
|
||||||
IEnumerable<Item> filteredItems;
|
IEnumerable<Item> filteredItems;
|
||||||
@ -925,7 +921,6 @@ public partial class DlibDotNet
|
|||||||
containerDateTimes = Shared.Models.Stateless.Methods.IContainer.GetContainerDateTimes(filteredItems);
|
containerDateTimes = Shared.Models.Stateless.Methods.IContainer.GetContainerDateTimes(filteredItems);
|
||||||
focusRelativePath = Path.GetFullPath(string.Concat(_Configuration.PropertyConfiguration.RootDirectory, _Configuration.FocusDirectory));
|
focusRelativePath = Path.GetFullPath(string.Concat(_Configuration.PropertyConfiguration.RootDirectory, _Configuration.FocusDirectory));
|
||||||
isFocusRelativePath = string.IsNullOrEmpty(_Configuration.FocusDirectory) ? null : container.SourceDirectory.StartsWith(focusRelativePath);
|
isFocusRelativePath = string.IsNullOrEmpty(_Configuration.FocusDirectory) ? null : container.SourceDirectory.StartsWith(focusRelativePath);
|
||||||
isIgnoreRelativePath = _Configuration.IgnoreRelativePaths.Length == 0 ? null : _Configuration.IgnoreRelativePaths.Any(l => container.SourceDirectory.Contains(l)) && Shared.Models.Stateless.Methods.IContainer.IsIgnoreRelativePath(_Configuration.PropertyConfiguration, _Configuration.IgnoreRelativePaths, container.SourceDirectory);
|
|
||||||
foreach (Item item in filteredItems)
|
foreach (Item item in filteredItems)
|
||||||
{
|
{
|
||||||
if (item.Property?.Id is null || item.ResizedFileHolder is null)
|
if (item.Property?.Id is null || item.ResizedFileHolder is null)
|
||||||
@ -952,7 +947,7 @@ public partial class DlibDotNet
|
|||||||
}
|
}
|
||||||
if (!anyValidFaces)
|
if (!anyValidFaces)
|
||||||
{
|
{
|
||||||
(mapping, notMapped) = GetMapping(mapLogic, locationContainersFiles, item, isFocusRelativePath, isIgnoreRelativePath, mappingFromItem);
|
(mapping, notMapped) = GetMapping(mapLogic, locationContainersFiles, item, isFocusRelativePath, mappingFromItem);
|
||||||
mappingCollection.Add(mapping);
|
mappingCollection.Add(mapping);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1199,7 +1194,7 @@ public partial class DlibDotNet
|
|||||||
fileNameToCollection = !Directory.Exists(fPhotoPrismSingletonDirectory) ? fileNameToCollection = new() : F_PhotoPrism.GetFileNameToCollection(fPhotoPrismSingletonDirectory);
|
fileNameToCollection = !Directory.Exists(fPhotoPrismSingletonDirectory) ? fileNameToCollection = new() : F_PhotoPrism.GetFileNameToCollection(fPhotoPrismSingletonDirectory);
|
||||||
B_Metadata metadata = new(_Configuration.PropertyConfiguration, _Configuration.ForceMetadataLastWriteTimeToCreationTime, _Configuration.PropertiesChangedForMetadata, bResultsFullGroupDirectory);
|
B_Metadata metadata = new(_Configuration.PropertyConfiguration, _Configuration.ForceMetadataLastWriteTimeToCreationTime, _Configuration.PropertiesChangedForMetadata, bResultsFullGroupDirectory);
|
||||||
mapLogic ??= new(_AppSettings.MaxDegreeOfParallelism, _Configuration.PropertyConfiguration, _MapConfiguration, _Distance, personContainers, ticks, a2PeopleSingletonDirectory, eDistanceContentDirectory);
|
mapLogic ??= new(_AppSettings.MaxDegreeOfParallelism, _Configuration.PropertyConfiguration, _MapConfiguration, _Distance, personContainers, ticks, a2PeopleSingletonDirectory, eDistanceContentDirectory);
|
||||||
containers = Shared.Models.Stateless.Methods.IContainer.SortContainers(_Configuration.PropertyConfiguration, _Configuration.IgnoreRelativePaths, _ArgZeroIsConfigurationRootDirectory, argZero, containers);
|
containers = Shared.Models.Stateless.Methods.IContainer.SortContainers(_ArgZeroIsConfigurationRootDirectory, argZero, containers);
|
||||||
FullDoWork(argZero, propertyRoot, ticks, aResultsFullGroupDirectory, bResultsFullGroupDirectory, t, containers, propertyLogic, metadata, fileNameToCollection, mapLogic);
|
FullDoWork(argZero, propertyRoot, ticks, aResultsFullGroupDirectory, bResultsFullGroupDirectory, t, containers, propertyLogic, metadata, fileNameToCollection, mapLogic);
|
||||||
ReadOnlyCollection<Item> distinctFilteredItems = Shared.Models.Stateless.Methods.IContainer.GetItems(_Configuration.PropertyConfiguration, new(containers), distinctItems: true, filterItems: true);
|
ReadOnlyCollection<Item> distinctFilteredItems = Shared.Models.Stateless.Methods.IContainer.GetItems(_Configuration.PropertyConfiguration, new(containers), distinctItems: true, filterItems: true);
|
||||||
if (_Configuration.LookForAbandoned)
|
if (_Configuration.LookForAbandoned)
|
||||||
|
@ -31,7 +31,6 @@ public class Configuration
|
|||||||
[Display(Name = "Force Resize Last Write Time to Creation Time"), Required] public bool? ForceResizeLastWriteTimeToCreationTime { get; set; }
|
[Display(Name = "Force Resize Last Write Time to Creation Time"), Required] public bool? ForceResizeLastWriteTimeToCreationTime { get; set; }
|
||||||
[Display(Name = "GenealogicalDataCommunication File"), Required] public string GenealogicalDataCommunicationFile { get; set; }
|
[Display(Name = "GenealogicalDataCommunication File"), Required] public string GenealogicalDataCommunicationFile { get; set; }
|
||||||
[Display(Name = "Ignore Extensions"), Required] public string[] IgnoreExtensions { get; set; }
|
[Display(Name = "Ignore Extensions"), Required] public string[] IgnoreExtensions { get; set; }
|
||||||
[Display(Name = "Ignore Relative Paths"), Required] public string[] IgnoreRelativePaths { get; set; }
|
|
||||||
[Display(Name = "Julie Phares Copy Birthdays"), Required] public string[] JLinks { get; set; }
|
[Display(Name = "Julie Phares Copy Birthdays"), Required] public string[] JLinks { get; set; }
|
||||||
[Display(Name = "Load Or Create Then Save Distance Results"), Required] public string[] LoadOrCreateThenSaveDistanceResultsForOutputResolutions { get; set; }
|
[Display(Name = "Load Or Create Then Save Distance Results"), Required] public string[] LoadOrCreateThenSaveDistanceResultsForOutputResolutions { get; set; }
|
||||||
[Display(Name = "Load Or Create Then Save Image Faces Results"), Required] public string[] LoadOrCreateThenSaveImageFacesResultsForOutputResolutions { get; set; }
|
[Display(Name = "Load Or Create Then Save Image Faces Results"), Required] public string[] LoadOrCreateThenSaveImageFacesResultsForOutputResolutions { get; set; }
|
||||||
@ -149,7 +148,6 @@ public class Configuration
|
|||||||
throw new NullReferenceException(nameof(configuration.GenealogicalDataCommunicationFile));
|
throw new NullReferenceException(nameof(configuration.GenealogicalDataCommunicationFile));
|
||||||
if (configuration.IgnoreExtensions is null)
|
if (configuration.IgnoreExtensions is null)
|
||||||
throw new NullReferenceException(nameof(configuration.IgnoreExtensions));
|
throw new NullReferenceException(nameof(configuration.IgnoreExtensions));
|
||||||
configuration.IgnoreRelativePaths ??= Array.Empty<string>();
|
|
||||||
configuration.LoadOrCreateThenSaveDistanceResultsForOutputResolutions ??= Array.Empty<string>();
|
configuration.LoadOrCreateThenSaveDistanceResultsForOutputResolutions ??= Array.Empty<string>();
|
||||||
configuration.LoadOrCreateThenSaveImageFacesResultsForOutputResolutions ??= Array.Empty<string>();
|
configuration.LoadOrCreateThenSaveImageFacesResultsForOutputResolutions ??= Array.Empty<string>();
|
||||||
if (configuration.LoadPhotoPrismLocations is null)
|
if (configuration.LoadPhotoPrismLocations is null)
|
||||||
@ -268,7 +266,6 @@ public class Configuration
|
|||||||
configuration.ForceResizeLastWriteTimeToCreationTime.Value,
|
configuration.ForceResizeLastWriteTimeToCreationTime.Value,
|
||||||
configuration.GenealogicalDataCommunicationFile,
|
configuration.GenealogicalDataCommunicationFile,
|
||||||
configuration.IgnoreExtensions,
|
configuration.IgnoreExtensions,
|
||||||
configuration.IgnoreRelativePaths,
|
|
||||||
configuration.JLinks,
|
configuration.JLinks,
|
||||||
configuration.LoadOrCreateThenSaveDistanceResultsForOutputResolutions,
|
configuration.LoadOrCreateThenSaveDistanceResultsForOutputResolutions,
|
||||||
configuration.LoadOrCreateThenSaveImageFacesResultsForOutputResolutions,
|
configuration.LoadOrCreateThenSaveImageFacesResultsForOutputResolutions,
|
||||||
|
@ -30,7 +30,6 @@ public class Configuration
|
|||||||
public bool ForceResizeLastWriteTimeToCreationTime { init; get; }
|
public bool ForceResizeLastWriteTimeToCreationTime { init; get; }
|
||||||
public string GenealogicalDataCommunicationFile { init; get; }
|
public string GenealogicalDataCommunicationFile { init; get; }
|
||||||
public string[] IgnoreExtensions { init; get; }
|
public string[] IgnoreExtensions { init; get; }
|
||||||
public string[] IgnoreRelativePaths { init; get; }
|
|
||||||
public string[] JLinks { init; get; }
|
public string[] JLinks { init; get; }
|
||||||
public string[] LoadOrCreateThenSaveDistanceResultsForOutputResolutions { init; get; }
|
public string[] LoadOrCreateThenSaveDistanceResultsForOutputResolutions { init; get; }
|
||||||
public string[] LoadOrCreateThenSaveImageFacesResultsForOutputResolutions { init; get; }
|
public string[] LoadOrCreateThenSaveImageFacesResultsForOutputResolutions { init; get; }
|
||||||
@ -115,7 +114,6 @@ public class Configuration
|
|||||||
bool forceResizeLastWriteTimeToCreationTime,
|
bool forceResizeLastWriteTimeToCreationTime,
|
||||||
string genealogicalDataCommunicationFile,
|
string genealogicalDataCommunicationFile,
|
||||||
string[] ignoreExtensions,
|
string[] ignoreExtensions,
|
||||||
string[] ignoreRelativePaths,
|
|
||||||
string[] jLinks,
|
string[] jLinks,
|
||||||
string[] loadOrCreateThenSaveDistanceResultsForOutputResolutions,
|
string[] loadOrCreateThenSaveDistanceResultsForOutputResolutions,
|
||||||
string[] loadOrCreateThenSaveImageFacesResultsForOutputResolutions,
|
string[] loadOrCreateThenSaveImageFacesResultsForOutputResolutions,
|
||||||
@ -198,7 +196,6 @@ public class Configuration
|
|||||||
ForceResizeLastWriteTimeToCreationTime = forceResizeLastWriteTimeToCreationTime;
|
ForceResizeLastWriteTimeToCreationTime = forceResizeLastWriteTimeToCreationTime;
|
||||||
GenealogicalDataCommunicationFile = genealogicalDataCommunicationFile;
|
GenealogicalDataCommunicationFile = genealogicalDataCommunicationFile;
|
||||||
IgnoreExtensions = ignoreExtensions;
|
IgnoreExtensions = ignoreExtensions;
|
||||||
IgnoreRelativePaths = ignoreRelativePaths;
|
|
||||||
JLinks = jLinks;
|
JLinks = jLinks;
|
||||||
LoadOrCreateThenSaveDistanceResultsForOutputResolutions = loadOrCreateThenSaveDistanceResultsForOutputResolutions;
|
LoadOrCreateThenSaveDistanceResultsForOutputResolutions = loadOrCreateThenSaveDistanceResultsForOutputResolutions;
|
||||||
LoadOrCreateThenSaveImageFacesResultsForOutputResolutions = loadOrCreateThenSaveImageFacesResultsForOutputResolutions;
|
LoadOrCreateThenSaveImageFacesResultsForOutputResolutions = loadOrCreateThenSaveImageFacesResultsForOutputResolutions;
|
||||||
|
@ -81,8 +81,6 @@ internal class F_Random
|
|||||||
continue;
|
continue;
|
||||||
if (mapping.MappingFromItem.ImageFileHolder.DirectoryName is null)
|
if (mapping.MappingFromItem.ImageFileHolder.DirectoryName is null)
|
||||||
continue;
|
continue;
|
||||||
if (mapping.MappingFromFilter.IsIgnoreRelativePath is not null && mapping.MappingFromFilter.IsIgnoreRelativePath.Value)
|
|
||||||
continue;
|
|
||||||
relativePaths.Add(mapping.MappingFromItem.RelativePath);
|
relativePaths.Add(mapping.MappingFromItem.RelativePath);
|
||||||
distinctCollection.Add(mapping.MappingFromItem.Id);
|
distinctCollection.Add(mapping.MappingFromItem.Id);
|
||||||
}
|
}
|
||||||
|
@ -213,6 +213,7 @@ internal class Property
|
|||||||
string? model = null;
|
string? model = null;
|
||||||
DateTime?[] dateTimes;
|
DateTime?[] dateTimes;
|
||||||
string dateTimeFormat;
|
string dateTimeFormat;
|
||||||
|
string[]? tags = null;
|
||||||
DateTime checkDateTime;
|
DateTime checkDateTime;
|
||||||
DateTime? dateTime = null;
|
DateTime? dateTime = null;
|
||||||
PropertyItem? propertyItem;
|
PropertyItem? propertyItem;
|
||||||
@ -334,6 +335,17 @@ internal class Property
|
|||||||
orientation = value;
|
orientation = value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (image.PropertyIdList.Contains((int)IExif.Tags.XPKeywords))
|
||||||
|
{
|
||||||
|
propertyItem = image.GetPropertyItem((int)IExif.Tags.XPKeywords);
|
||||||
|
if (propertyItem?.Value is not null)
|
||||||
|
{
|
||||||
|
if (propertyItem.Type == 2)
|
||||||
|
tags = asciiEncoding.GetString(propertyItem.Value).Trim('\0', ' ').Split(';');
|
||||||
|
else if (propertyItem.Type == 1)
|
||||||
|
tags = Encoding.Unicode.GetString(propertyItem.Value).Trim('\0', ' ').Split(';');
|
||||||
|
}
|
||||||
|
}
|
||||||
message = null;
|
message = null;
|
||||||
dateTimes = new DateTime?[] { fileHolder.LastWriteTime, fileHolder.CreationTime, dateTime, dateTimeDigitized, dateTimeOriginal, gpsDateStamp };
|
dateTimes = new DateTime?[] { fileHolder.LastWriteTime, fileHolder.CreationTime, dateTime, dateTimeDigitized, dateTimeOriginal, gpsDateStamp };
|
||||||
}
|
}
|
||||||
@ -369,9 +381,9 @@ internal class Property
|
|||||||
if (fileHolder.LastWriteTime is null && property?.LastWriteTime is null)
|
if (fileHolder.LastWriteTime is null && property?.LastWriteTime is null)
|
||||||
throw new NullReferenceException(nameof(fileHolder.LastWriteTime));
|
throw new NullReferenceException(nameof(fileHolder.LastWriteTime));
|
||||||
if (fileHolder.CreationTime is not null && fileHolder.LastWriteTime is not null)
|
if (fileHolder.CreationTime is not null && fileHolder.LastWriteTime is not null)
|
||||||
result = new(fileHolder.CreationTime.Value, dateTime, dateTimeDigitized, dateTimeFromName, dateTimeOriginalByLogic, fileLength, gpsDateStamp, height, id, fileHolder.LastWriteTime.Value, make, model, orientation, width);
|
result = new(fileHolder.CreationTime.Value, dateTime, dateTimeDigitized, dateTimeFromName, dateTimeOriginalByLogic, fileLength, gpsDateStamp, height, id, fileHolder.LastWriteTime.Value, make, model, orientation, tags, width);
|
||||||
else if (property is not null)
|
else if (property is not null)
|
||||||
result = new(property.CreationTime, dateTime, dateTimeDigitized, dateTimeFromName, dateTimeOriginalByLogic, fileLength, gpsDateStamp, height, id, property.LastWriteTime, make, model, orientation, width);
|
result = new(property.CreationTime, dateTime, dateTimeDigitized, dateTimeFromName, dateTimeOriginalByLogic, fileLength, gpsDateStamp, height, id, property.LastWriteTime, make, model, orientation, tags, width);
|
||||||
else
|
else
|
||||||
throw new NullReferenceException(nameof(property));
|
throw new NullReferenceException(nameof(property));
|
||||||
return (message, dateTimesByLogic.ToArray(), result);
|
return (message, dateTimesByLogic.ToArray(), result);
|
||||||
|
@ -9,17 +9,15 @@ public class MappingFromFilter : Properties.IMappingFromFilter
|
|||||||
public bool? IsFocusModel { init; get; }
|
public bool? IsFocusModel { init; get; }
|
||||||
public bool? IsFocusPerson { init; get; }
|
public bool? IsFocusPerson { init; get; }
|
||||||
public bool? IsFocusRelativePath { init; get; }
|
public bool? IsFocusRelativePath { init; get; }
|
||||||
public bool? IsIgnoreRelativePath { init; get; }
|
|
||||||
public bool? InSkipCollection { init; get; }
|
public bool? InSkipCollection { init; get; }
|
||||||
public bool? IsUsed { init; get; }
|
public bool? IsUsed { init; get; }
|
||||||
|
|
||||||
[JsonConstructor]
|
[JsonConstructor]
|
||||||
public MappingFromFilter(bool? isFocusModel, bool? isFocusPerson, bool? isFocusRelativePath, bool? isIgnoreRelativePath, bool? inSkipCollection, bool? isUsed)
|
public MappingFromFilter(bool? isFocusModel, bool? isFocusPerson, bool? isFocusRelativePath, bool? inSkipCollection, bool? isUsed)
|
||||||
{
|
{
|
||||||
IsFocusModel = isFocusModel;
|
IsFocusModel = isFocusModel;
|
||||||
IsFocusPerson = isFocusPerson;
|
IsFocusPerson = isFocusPerson;
|
||||||
IsFocusRelativePath = isFocusRelativePath;
|
IsFocusRelativePath = isFocusRelativePath;
|
||||||
IsIgnoreRelativePath = isIgnoreRelativePath;
|
|
||||||
InSkipCollection = inSkipCollection;
|
InSkipCollection = inSkipCollection;
|
||||||
IsUsed = isUsed;
|
IsUsed = isUsed;
|
||||||
}
|
}
|
||||||
|
@ -6,7 +6,6 @@ public interface IMappingFromFilter
|
|||||||
public bool? IsFocusModel { init; get; }
|
public bool? IsFocusModel { init; get; }
|
||||||
public bool? IsFocusPerson { init; get; }
|
public bool? IsFocusPerson { init; get; }
|
||||||
public bool? IsFocusRelativePath { init; get; }
|
public bool? IsFocusRelativePath { init; get; }
|
||||||
public bool? IsIgnoreRelativePath { init; get; }
|
|
||||||
public bool? InSkipCollection { init; get; }
|
public bool? InSkipCollection { init; get; }
|
||||||
public bool? IsUsed { init; get; }
|
public bool? IsUsed { init; get; }
|
||||||
|
|
||||||
|
@ -1,21 +0,0 @@
|
|||||||
namespace View_by_Distance.Shared.Models.Properties;
|
|
||||||
|
|
||||||
public interface IProperty
|
|
||||||
{
|
|
||||||
|
|
||||||
public DateTime CreationTime { init; get; }
|
|
||||||
public DateTime? DateTime { init; get; }
|
|
||||||
public DateTime? DateTimeDigitized { init; get; }
|
|
||||||
public DateTime? DateTimeFromName { init; get; }
|
|
||||||
public DateTime? DateTimeOriginal { init; get; }
|
|
||||||
public long FileSize { init; get; }
|
|
||||||
public DateTime? GPSDateStamp { init; get; }
|
|
||||||
public int? Height { init; get; }
|
|
||||||
public int? Id { init; get; }
|
|
||||||
public DateTime LastWriteTime { init; get; }
|
|
||||||
public string? Make { init; get; }
|
|
||||||
public string? Model { init; get; }
|
|
||||||
public string? Orientation { init; get; }
|
|
||||||
public int? Width { init; get; }
|
|
||||||
|
|
||||||
}
|
|
@ -3,49 +3,35 @@ using System.Text.Json.Serialization;
|
|||||||
|
|
||||||
namespace View_by_Distance.Shared.Models;
|
namespace View_by_Distance.Shared.Models;
|
||||||
|
|
||||||
public class Property : Properties.IProperty
|
public record Property(DateTime CreationTime,
|
||||||
|
DateTime? DateTime,
|
||||||
|
DateTime? DateTimeDigitized,
|
||||||
|
DateTime? DateTimeFromName,
|
||||||
|
DateTime? DateTimeOriginal,
|
||||||
|
long FileSize,
|
||||||
|
DateTime? GPSDateStamp,
|
||||||
|
int? Height,
|
||||||
|
int? Id,
|
||||||
|
DateTime LastWriteTime,
|
||||||
|
string? Make,
|
||||||
|
string? Model,
|
||||||
|
string? Orientation,
|
||||||
|
string[]? Tags,
|
||||||
|
int? Width)
|
||||||
{
|
{
|
||||||
|
|
||||||
public DateTime CreationTime { init; get; }
|
|
||||||
public DateTime? DateTime { init; get; }
|
|
||||||
public DateTime? DateTimeDigitized { init; get; }
|
|
||||||
public DateTime? DateTimeFromName { init; get; }
|
|
||||||
public DateTime? DateTimeOriginal { init; get; }
|
|
||||||
public long FileSize { init; get; }
|
|
||||||
public DateTime? GPSDateStamp { init; get; }
|
|
||||||
public int? Height { init; get; }
|
|
||||||
public int? Id { init; get; }
|
|
||||||
public DateTime LastWriteTime { init; get; }
|
|
||||||
public string? Make { init; get; }
|
|
||||||
public string? Model { init; get; }
|
|
||||||
public string? Orientation { init; get; }
|
|
||||||
public int? Width { init; get; }
|
|
||||||
|
|
||||||
[JsonConstructor]
|
|
||||||
public Property(DateTime creationTime, DateTime? dateTime, DateTime? dateTimeDigitized, DateTime? dateTimeFromName, DateTime? dateTimeOriginal, long fileSize, DateTime? gpsDateStamp, int? height, int? id, DateTime lastWriteTime, string? make, string? model, string? orientation, int? width)
|
|
||||||
{
|
|
||||||
DateTimeFromName = dateTimeFromName;
|
|
||||||
CreationTime = creationTime;
|
|
||||||
DateTime = dateTime;
|
|
||||||
DateTimeDigitized = dateTimeDigitized;
|
|
||||||
DateTimeOriginal = dateTimeOriginal;
|
|
||||||
FileSize = fileSize;
|
|
||||||
GPSDateStamp = gpsDateStamp;
|
|
||||||
Height = height;
|
|
||||||
Id = id;
|
|
||||||
LastWriteTime = lastWriteTime;
|
|
||||||
Make = make;
|
|
||||||
Model = model;
|
|
||||||
Orientation = orientation;
|
|
||||||
Width = width;
|
|
||||||
}
|
|
||||||
|
|
||||||
public override string ToString()
|
public override string ToString()
|
||||||
{
|
{
|
||||||
string result = JsonSerializer.Serialize(this, new JsonSerializerOptions() { WriteIndented = true });
|
string result = JsonSerializer.Serialize(this, AppSettingsSourceGenerationContext.Default.Property);
|
||||||
return result;
|
return result;
|
||||||
} // ...
|
}
|
||||||
|
|
||||||
public List<DateTime> GetDateTimes() => Stateless.Methods.Property.GetDateTimes(CreationTime, LastWriteTime, DateTime, DateTimeDigitized, DateTimeFromName, DateTimeOriginal, GPSDateStamp);
|
public List<DateTime> GetDateTimes() => Stateless.Methods.Property.GetDateTimes(CreationTime, LastWriteTime, DateTime, DateTimeDigitized, DateTimeFromName, DateTimeOriginal, GPSDateStamp);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[JsonSourceGenerationOptions(WriteIndented = true)]
|
||||||
|
[JsonSerializable(typeof(Property))]
|
||||||
|
internal partial class AppSettingsSourceGenerationContext : JsonSerializerContext
|
||||||
|
{
|
||||||
|
}
|
@ -38,28 +38,9 @@ internal abstract class Container
|
|||||||
return results.ToArray();
|
return results.ToArray();
|
||||||
}
|
}
|
||||||
|
|
||||||
internal static bool IsIgnoreRelativePath(Properties.IPropertyConfiguration propertyConfiguration, string[] ignoreRelativePaths, string directory)
|
internal static Models.Container[] SortContainers(bool argZeroIsConfigurationRootDirectory, string argZero, Models.Container[] containers)
|
||||||
{
|
|
||||||
bool result = false;
|
|
||||||
string? checkDirectory = Path.GetFullPath(directory);
|
|
||||||
for (int i = 0; i < int.MaxValue; i++)
|
|
||||||
{
|
|
||||||
if (ignoreRelativePaths.Contains(Path.GetFileName(checkDirectory)))
|
|
||||||
{
|
|
||||||
result = true;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
checkDirectory = Path.GetDirectoryName(checkDirectory);
|
|
||||||
if (string.IsNullOrEmpty(checkDirectory) || checkDirectory == propertyConfiguration.RootDirectory)
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
internal static Models.Container[] SortContainers(Properties.IPropertyConfiguration propertyConfiguration, string[] ignoreRelativePaths, bool argZeroIsConfigurationRootDirectory, string argZero, Models.Container[] containers)
|
|
||||||
{
|
{
|
||||||
List<Models.Container> results = new();
|
List<Models.Container> results = new();
|
||||||
bool isIgnoreRelativePath;
|
|
||||||
for (int i = 1; i < 3; i++)
|
for (int i = 1; i < 3; i++)
|
||||||
{
|
{
|
||||||
foreach (Models.Container container in containers)
|
foreach (Models.Container container in containers)
|
||||||
@ -68,11 +49,6 @@ internal abstract class Container
|
|||||||
continue;
|
continue;
|
||||||
if (!argZeroIsConfigurationRootDirectory && !container.SourceDirectory.StartsWith(argZero))
|
if (!argZeroIsConfigurationRootDirectory && !container.SourceDirectory.StartsWith(argZero))
|
||||||
continue;
|
continue;
|
||||||
isIgnoreRelativePath = ignoreRelativePaths.Any(l => container.SourceDirectory.Contains(l)) && IsIgnoreRelativePath(propertyConfiguration, ignoreRelativePaths, container.SourceDirectory);
|
|
||||||
if (i == 1 && isIgnoreRelativePath)
|
|
||||||
continue;
|
|
||||||
if (i == 2 && !isIgnoreRelativePath)
|
|
||||||
continue;
|
|
||||||
results.Add(container);
|
results.Add(container);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -15,15 +15,10 @@ public interface IContainer
|
|||||||
static Models.Item[] GetFilterItems(Properties.IPropertyConfiguration propertyConfiguration, Models.Container container) =>
|
static Models.Item[] GetFilterItems(Properties.IPropertyConfiguration propertyConfiguration, Models.Container container) =>
|
||||||
Container.GetFilterItems(propertyConfiguration, container);
|
Container.GetFilterItems(propertyConfiguration, container);
|
||||||
|
|
||||||
bool TestStatic_IsIgnoreRelativePath(Properties.IPropertyConfiguration propertyConfiguration, string[] ignoreRelativePaths, string directory) =>
|
Models.Container[] TestStatic_SortContainers(bool argZeroIsConfigurationRootDirectory, string argZero, Models.Container[] containers) =>
|
||||||
IsIgnoreRelativePath(propertyConfiguration, ignoreRelativePaths, directory);
|
SortContainers(argZeroIsConfigurationRootDirectory, argZero, containers);
|
||||||
static bool IsIgnoreRelativePath(Properties.IPropertyConfiguration propertyConfiguration, string[] ignoreRelativePaths, string directory) =>
|
static Models.Container[] SortContainers(bool argZeroIsConfigurationRootDirectory, string argZero, Models.Container[] containers) =>
|
||||||
Container.IsIgnoreRelativePath(propertyConfiguration, ignoreRelativePaths, directory);
|
Container.SortContainers(argZeroIsConfigurationRootDirectory, argZero, containers);
|
||||||
|
|
||||||
Models.Container[] TestStatic_SortContainers(Properties.IPropertyConfiguration propertyConfiguration, string[] ignoreRelativePaths, bool argZeroIsConfigurationRootDirectory, string argZero, Models.Container[] containers) =>
|
|
||||||
SortContainers(propertyConfiguration, ignoreRelativePaths, argZeroIsConfigurationRootDirectory, argZero, containers);
|
|
||||||
static Models.Container[] SortContainers(Properties.IPropertyConfiguration propertyConfiguration, string[] ignoreRelativePaths, bool argZeroIsConfigurationRootDirectory, string argZero, Models.Container[] containers) =>
|
|
||||||
Container.SortContainers(propertyConfiguration, ignoreRelativePaths, argZeroIsConfigurationRootDirectory, argZero, containers);
|
|
||||||
|
|
||||||
List<FilePair> TestStatic_GetFilePairs(Properties.IPropertyConfiguration propertyConfiguration, string directorySearchFilter, string extension, string aPropertySingletonDirectory, List<string[]> filesCollection) =>
|
List<FilePair> TestStatic_GetFilePairs(Properties.IPropertyConfiguration propertyConfiguration, string directorySearchFilter, string extension, string aPropertySingletonDirectory, List<string[]> filesCollection) =>
|
||||||
Container.GetFilePairs(propertyConfiguration, directorySearchFilter, extension, aPropertySingletonDirectory, filesCollection);
|
Container.GetFilePairs(propertyConfiguration, directorySearchFilter, extension, aPropertySingletonDirectory, filesCollection);
|
||||||
|
@ -18,7 +18,6 @@ public class Configuration
|
|||||||
[Display(Name = "Force Metadata Last Write Time to Creation Time"), Required] public bool? ForceMetadataLastWriteTimeToCreationTime { get; set; }
|
[Display(Name = "Force Metadata Last Write Time to Creation Time"), Required] public bool? ForceMetadataLastWriteTimeToCreationTime { get; set; }
|
||||||
[Display(Name = "Force Resize Last Write Time to Creation Time"), Required] public bool? ForceResizeLastWriteTimeToCreationTime { get; set; }
|
[Display(Name = "Force Resize Last Write Time to Creation Time"), Required] public bool? ForceResizeLastWriteTimeToCreationTime { get; set; }
|
||||||
[Display(Name = "Ignore Extensions"), Required] public string[] IgnoreExtensions { get; set; }
|
[Display(Name = "Ignore Extensions"), Required] public string[] IgnoreExtensions { get; set; }
|
||||||
[Display(Name = "Ignore Relative Paths"), Required] public string[] IgnoreRelativePaths { get; set; }
|
|
||||||
[Display(Name = "Julie Phares Copy Birthdays"), Required] public string[] JLinks { get; set; }
|
[Display(Name = "Julie Phares Copy Birthdays"), Required] public string[] JLinks { get; set; }
|
||||||
[Display(Name = "Load Or GetPersonName Then Save Distance Results"), Required] public string[] LoadOrCreateThenSaveDistanceResultsForOutputResolutions { get; set; }
|
[Display(Name = "Load Or GetPersonName Then Save Distance Results"), Required] public string[] LoadOrCreateThenSaveDistanceResultsForOutputResolutions { get; set; }
|
||||||
[Display(Name = "Load Or GetPersonName Then Save Image Faces Results"), Required] public string[] LoadOrCreateThenSaveImageFacesResultsForOutputResolutions { get; set; }
|
[Display(Name = "Load Or GetPersonName Then Save Image Faces Results"), Required] public string[] LoadOrCreateThenSaveImageFacesResultsForOutputResolutions { get; set; }
|
||||||
@ -79,8 +78,6 @@ public class Configuration
|
|||||||
throw new NullReferenceException(nameof(configuration.ForceResizeLastWriteTimeToCreationTime));
|
throw new NullReferenceException(nameof(configuration.ForceResizeLastWriteTimeToCreationTime));
|
||||||
if (configuration.IgnoreExtensions is null)
|
if (configuration.IgnoreExtensions is null)
|
||||||
throw new NullReferenceException(nameof(configuration.IgnoreExtensions));
|
throw new NullReferenceException(nameof(configuration.IgnoreExtensions));
|
||||||
if (configuration.IgnoreRelativePaths is null)
|
|
||||||
throw new NullReferenceException(nameof(configuration.IgnoreRelativePaths));
|
|
||||||
configuration.LoadOrCreateThenSaveDistanceResultsForOutputResolutions ??= Array.Empty<string>();
|
configuration.LoadOrCreateThenSaveDistanceResultsForOutputResolutions ??= Array.Empty<string>();
|
||||||
configuration.LoadOrCreateThenSaveImageFacesResultsForOutputResolutions ??= Array.Empty<string>();
|
configuration.LoadOrCreateThenSaveImageFacesResultsForOutputResolutions ??= Array.Empty<string>();
|
||||||
if (configuration.MixedYearRelativePaths is null)
|
if (configuration.MixedYearRelativePaths is null)
|
||||||
@ -133,7 +130,6 @@ public class Configuration
|
|||||||
configuration.ForceMetadataLastWriteTimeToCreationTime.Value,
|
configuration.ForceMetadataLastWriteTimeToCreationTime.Value,
|
||||||
configuration.ForceResizeLastWriteTimeToCreationTime.Value,
|
configuration.ForceResizeLastWriteTimeToCreationTime.Value,
|
||||||
configuration.IgnoreExtensions,
|
configuration.IgnoreExtensions,
|
||||||
configuration.IgnoreRelativePaths,
|
|
||||||
configuration.JLinks,
|
configuration.JLinks,
|
||||||
configuration.LoadOrCreateThenSaveDistanceResultsForOutputResolutions,
|
configuration.LoadOrCreateThenSaveDistanceResultsForOutputResolutions,
|
||||||
configuration.LoadOrCreateThenSaveImageFacesResultsForOutputResolutions,
|
configuration.LoadOrCreateThenSaveImageFacesResultsForOutputResolutions,
|
||||||
|
@ -17,7 +17,6 @@ public class Configuration
|
|||||||
public bool ForceMetadataLastWriteTimeToCreationTime { init; get; }
|
public bool ForceMetadataLastWriteTimeToCreationTime { init; get; }
|
||||||
public bool ForceResizeLastWriteTimeToCreationTime { init; get; }
|
public bool ForceResizeLastWriteTimeToCreationTime { init; get; }
|
||||||
public string[] IgnoreExtensions { init; get; }
|
public string[] IgnoreExtensions { init; get; }
|
||||||
public string[] IgnoreRelativePaths { init; get; }
|
|
||||||
public string[] JLinks { init; get; }
|
public string[] JLinks { init; get; }
|
||||||
public string[] LoadOrCreateThenSaveDistanceResultsForOutputResolutions { init; get; }
|
public string[] LoadOrCreateThenSaveDistanceResultsForOutputResolutions { init; get; }
|
||||||
public string[] LoadOrCreateThenSaveImageFacesResultsForOutputResolutions { init; get; }
|
public string[] LoadOrCreateThenSaveImageFacesResultsForOutputResolutions { init; get; }
|
||||||
@ -58,7 +57,6 @@ public class Configuration
|
|||||||
bool forceMetadataLastWriteTimeToCreationTime,
|
bool forceMetadataLastWriteTimeToCreationTime,
|
||||||
bool forceResizeLastWriteTimeToCreationTime,
|
bool forceResizeLastWriteTimeToCreationTime,
|
||||||
string[] ignoreExtensions,
|
string[] ignoreExtensions,
|
||||||
string[] ignoreRelativePaths,
|
|
||||||
string[] jLinks,
|
string[] jLinks,
|
||||||
string[] loadOrCreateThenSaveDistanceResultsForOutputResolutions,
|
string[] loadOrCreateThenSaveDistanceResultsForOutputResolutions,
|
||||||
string[] loadOrCreateThenSaveImageFacesResultsForOutputResolutions,
|
string[] loadOrCreateThenSaveImageFacesResultsForOutputResolutions,
|
||||||
@ -98,7 +96,6 @@ public class Configuration
|
|||||||
ForceMetadataLastWriteTimeToCreationTime = forceMetadataLastWriteTimeToCreationTime;
|
ForceMetadataLastWriteTimeToCreationTime = forceMetadataLastWriteTimeToCreationTime;
|
||||||
ForceResizeLastWriteTimeToCreationTime = forceResizeLastWriteTimeToCreationTime;
|
ForceResizeLastWriteTimeToCreationTime = forceResizeLastWriteTimeToCreationTime;
|
||||||
IgnoreExtensions = ignoreExtensions;
|
IgnoreExtensions = ignoreExtensions;
|
||||||
IgnoreRelativePaths = ignoreRelativePaths;
|
|
||||||
JLinks = jLinks;
|
JLinks = jLinks;
|
||||||
LoadOrCreateThenSaveDistanceResultsForOutputResolutions = loadOrCreateThenSaveDistanceResultsForOutputResolutions;
|
LoadOrCreateThenSaveDistanceResultsForOutputResolutions = loadOrCreateThenSaveDistanceResultsForOutputResolutions;
|
||||||
LoadOrCreateThenSaveImageFacesResultsForOutputResolutions = loadOrCreateThenSaveImageFacesResultsForOutputResolutions;
|
LoadOrCreateThenSaveImageFacesResultsForOutputResolutions = loadOrCreateThenSaveImageFacesResultsForOutputResolutions;
|
||||||
|
@ -24,7 +24,6 @@ public class Configuration
|
|||||||
[Display(Name = "Force Metadata Last Write Time to Creation Time"), Required] public bool? ForceMetadataLastWriteTimeToCreationTime { get; set; }
|
[Display(Name = "Force Metadata Last Write Time to Creation Time"), Required] public bool? ForceMetadataLastWriteTimeToCreationTime { get; set; }
|
||||||
[Display(Name = "Force Resize Last Write Time to Creation Time"), Required] public bool? ForceResizeLastWriteTimeToCreationTime { get; set; }
|
[Display(Name = "Force Resize Last Write Time to Creation Time"), Required] public bool? ForceResizeLastWriteTimeToCreationTime { get; set; }
|
||||||
[Display(Name = "Ignore Extensions"), Required] public string[] IgnoreExtensions { get; set; }
|
[Display(Name = "Ignore Extensions"), Required] public string[] IgnoreExtensions { get; set; }
|
||||||
[Display(Name = "Ignore Relative Paths"), Required] public string[] IgnoreRelativePaths { get; set; }
|
|
||||||
[Display(Name = "Julie Phares Copy Birthdays"), Required] public string[] JLinks { get; set; }
|
[Display(Name = "Julie Phares Copy Birthdays"), Required] public string[] JLinks { get; set; }
|
||||||
[Display(Name = "Load Or GetPersonName Then Save Distance Results"), Required] public string[] LoadOrCreateThenSaveDistanceResultsForOutputResolutions { get; set; }
|
[Display(Name = "Load Or GetPersonName Then Save Distance Results"), Required] public string[] LoadOrCreateThenSaveDistanceResultsForOutputResolutions { get; set; }
|
||||||
[Display(Name = "Load Or GetPersonName Then Save Image Faces Results"), Required] public string[] LoadOrCreateThenSaveImageFacesResultsForOutputResolutions { get; set; }
|
[Display(Name = "Load Or GetPersonName Then Save Image Faces Results"), Required] public string[] LoadOrCreateThenSaveImageFacesResultsForOutputResolutions { get; set; }
|
||||||
@ -112,8 +111,6 @@ public class Configuration
|
|||||||
throw new NullReferenceException(nameof(configuration.ForceResizeLastWriteTimeToCreationTime));
|
throw new NullReferenceException(nameof(configuration.ForceResizeLastWriteTimeToCreationTime));
|
||||||
if (configuration.IgnoreExtensions is null)
|
if (configuration.IgnoreExtensions is null)
|
||||||
throw new NullReferenceException(nameof(configuration.IgnoreExtensions));
|
throw new NullReferenceException(nameof(configuration.IgnoreExtensions));
|
||||||
if (configuration.IgnoreRelativePaths is null)
|
|
||||||
throw new NullReferenceException(nameof(configuration.IgnoreRelativePaths));
|
|
||||||
configuration.LoadOrCreateThenSaveDistanceResultsForOutputResolutions ??= Array.Empty<string>();
|
configuration.LoadOrCreateThenSaveDistanceResultsForOutputResolutions ??= Array.Empty<string>();
|
||||||
configuration.LoadOrCreateThenSaveImageFacesResultsForOutputResolutions ??= Array.Empty<string>();
|
configuration.LoadOrCreateThenSaveImageFacesResultsForOutputResolutions ??= Array.Empty<string>();
|
||||||
if (configuration.LocationDigits is null)
|
if (configuration.LocationDigits is null)
|
||||||
@ -203,7 +200,6 @@ public class Configuration
|
|||||||
configuration.ForceMetadataLastWriteTimeToCreationTime.Value,
|
configuration.ForceMetadataLastWriteTimeToCreationTime.Value,
|
||||||
configuration.ForceResizeLastWriteTimeToCreationTime.Value,
|
configuration.ForceResizeLastWriteTimeToCreationTime.Value,
|
||||||
configuration.IgnoreExtensions,
|
configuration.IgnoreExtensions,
|
||||||
configuration.IgnoreRelativePaths,
|
|
||||||
configuration.JLinks,
|
configuration.JLinks,
|
||||||
configuration.LoadOrCreateThenSaveDistanceResultsForOutputResolutions,
|
configuration.LoadOrCreateThenSaveDistanceResultsForOutputResolutions,
|
||||||
configuration.LoadOrCreateThenSaveImageFacesResultsForOutputResolutions,
|
configuration.LoadOrCreateThenSaveImageFacesResultsForOutputResolutions,
|
||||||
|
@ -23,7 +23,6 @@ public class Configuration
|
|||||||
public bool ForceMetadataLastWriteTimeToCreationTime { init; get; }
|
public bool ForceMetadataLastWriteTimeToCreationTime { init; get; }
|
||||||
public bool ForceResizeLastWriteTimeToCreationTime { init; get; }
|
public bool ForceResizeLastWriteTimeToCreationTime { init; get; }
|
||||||
public string[] IgnoreExtensions { init; get; }
|
public string[] IgnoreExtensions { init; get; }
|
||||||
public string[] IgnoreRelativePaths { init; get; }
|
|
||||||
public string[] JLinks { init; get; }
|
public string[] JLinks { init; get; }
|
||||||
public string[] LoadOrCreateThenSaveDistanceResultsForOutputResolutions { init; get; }
|
public string[] LoadOrCreateThenSaveDistanceResultsForOutputResolutions { init; get; }
|
||||||
public string[] LoadOrCreateThenSaveImageFacesResultsForOutputResolutions { init; get; }
|
public string[] LoadOrCreateThenSaveImageFacesResultsForOutputResolutions { init; get; }
|
||||||
@ -85,7 +84,6 @@ public class Configuration
|
|||||||
bool forceMetadataLastWriteTimeToCreationTime,
|
bool forceMetadataLastWriteTimeToCreationTime,
|
||||||
bool forceResizeLastWriteTimeToCreationTime,
|
bool forceResizeLastWriteTimeToCreationTime,
|
||||||
string[] ignoreExtensions,
|
string[] ignoreExtensions,
|
||||||
string[] ignoreRelativePaths,
|
|
||||||
string[] jLinks,
|
string[] jLinks,
|
||||||
string[] loadOrCreateThenSaveDistanceResultsForOutputResolutions,
|
string[] loadOrCreateThenSaveDistanceResultsForOutputResolutions,
|
||||||
string[] loadOrCreateThenSaveImageFacesResultsForOutputResolutions,
|
string[] loadOrCreateThenSaveImageFacesResultsForOutputResolutions,
|
||||||
@ -146,7 +144,6 @@ public class Configuration
|
|||||||
ForceMetadataLastWriteTimeToCreationTime = forceMetadataLastWriteTimeToCreationTime;
|
ForceMetadataLastWriteTimeToCreationTime = forceMetadataLastWriteTimeToCreationTime;
|
||||||
ForceResizeLastWriteTimeToCreationTime = forceResizeLastWriteTimeToCreationTime;
|
ForceResizeLastWriteTimeToCreationTime = forceResizeLastWriteTimeToCreationTime;
|
||||||
IgnoreExtensions = ignoreExtensions;
|
IgnoreExtensions = ignoreExtensions;
|
||||||
IgnoreRelativePaths = ignoreRelativePaths;
|
|
||||||
JLinks = jLinks;
|
JLinks = jLinks;
|
||||||
LoadOrCreateThenSaveDistanceResultsForOutputResolutions = loadOrCreateThenSaveDistanceResultsForOutputResolutions;
|
LoadOrCreateThenSaveDistanceResultsForOutputResolutions = loadOrCreateThenSaveDistanceResultsForOutputResolutions;
|
||||||
LoadOrCreateThenSaveImageFacesResultsForOutputResolutions = loadOrCreateThenSaveImageFacesResultsForOutputResolutions;
|
LoadOrCreateThenSaveImageFacesResultsForOutputResolutions = loadOrCreateThenSaveImageFacesResultsForOutputResolutions;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user