Removed IsIgnoreRelativePath
This commit is contained in:
@ -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;
|
||||
}
|
||||
|
@ -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; }
|
||||
|
||||
|
@ -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;
|
||||
|
||||
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
|
||||
{
|
||||
}
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
@ -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);
|
||||
|
Reference in New Issue
Block a user