Removed IsIgnoreRelativePath

This commit is contained in:
2023-08-08 19:02:27 -07:00
parent 7a429de157
commit ed01d4996b
22 changed files with 70 additions and 187 deletions

View File

@ -9,17 +9,15 @@ public class MappingFromFilter : Properties.IMappingFromFilter
public bool? IsFocusModel { init; get; }
public bool? IsFocusPerson { init; get; }
public bool? IsFocusRelativePath { init; get; }
public bool? IsIgnoreRelativePath { init; get; }
public bool? InSkipCollection { init; get; }
public bool? IsUsed { init; get; }
[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;
IsFocusPerson = isFocusPerson;
IsFocusRelativePath = isFocusRelativePath;
IsIgnoreRelativePath = isIgnoreRelativePath;
InSkipCollection = inSkipCollection;
IsUsed = isUsed;
}

View File

@ -6,7 +6,6 @@ public interface IMappingFromFilter
public bool? IsFocusModel { init; get; }
public bool? IsFocusPerson { init; get; }
public bool? IsFocusRelativePath { init; get; }
public bool? IsIgnoreRelativePath { init; get; }
public bool? InSkipCollection { init; get; }
public bool? IsUsed { init; get; }

View File

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

View File

@ -3,49 +3,35 @@ using System.Text.Json.Serialization;
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()
{
string result = JsonSerializer.Serialize(this, new JsonSerializerOptions() { WriteIndented = true });
string result = JsonSerializer.Serialize(this, AppSettingsSourceGenerationContext.Default.Property);
return result;
} // ...
}
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
{
}

View File

@ -38,28 +38,9 @@ internal abstract class Container
return results.ToArray();
}
internal static bool IsIgnoreRelativePath(Properties.IPropertyConfiguration propertyConfiguration, string[] ignoreRelativePaths, string directory)
{
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)
internal static Models.Container[] SortContainers(bool argZeroIsConfigurationRootDirectory, string argZero, Models.Container[] containers)
{
List<Models.Container> results = new();
bool isIgnoreRelativePath;
for (int i = 1; i < 3; i++)
{
foreach (Models.Container container in containers)
@ -68,11 +49,6 @@ internal abstract class Container
continue;
if (!argZeroIsConfigurationRootDirectory && !container.SourceDirectory.StartsWith(argZero))
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);
}
}

View File

@ -15,15 +15,10 @@ public interface IContainer
static Models.Item[] GetFilterItems(Properties.IPropertyConfiguration propertyConfiguration, Models.Container container) =>
Container.GetFilterItems(propertyConfiguration, container);
bool TestStatic_IsIgnoreRelativePath(Properties.IPropertyConfiguration propertyConfiguration, string[] ignoreRelativePaths, string directory) =>
IsIgnoreRelativePath(propertyConfiguration, ignoreRelativePaths, directory);
static bool IsIgnoreRelativePath(Properties.IPropertyConfiguration propertyConfiguration, string[] ignoreRelativePaths, string directory) =>
Container.IsIgnoreRelativePath(propertyConfiguration, ignoreRelativePaths, directory);
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);
Models.Container[] TestStatic_SortContainers(bool argZeroIsConfigurationRootDirectory, string argZero, Models.Container[] containers) =>
SortContainers(argZeroIsConfigurationRootDirectory, argZero, containers);
static Models.Container[] SortContainers(bool argZeroIsConfigurationRootDirectory, string argZero, Models.Container[] containers) =>
Container.SortContainers(argZeroIsConfigurationRootDirectory, argZero, containers);
List<FilePair> TestStatic_GetFilePairs(Properties.IPropertyConfiguration propertyConfiguration, string directorySearchFilter, string extension, string aPropertySingletonDirectory, List<string[]> filesCollection) =>
Container.GetFilePairs(propertyConfiguration, directorySearchFilter, extension, aPropertySingletonDirectory, filesCollection);