Date Group support for new directories and
better duplicate logic
This commit is contained in:
@ -635,9 +635,18 @@ public class A_Property
|
||||
Shared.Models.Property result;
|
||||
if (item.ImageFileHolder is null)
|
||||
throw new NullReferenceException(nameof(item.ImageFileHolder));
|
||||
bool angleBracketCollectionAny = AngleBracketCollection.Any();
|
||||
if (!angleBracketCollectionAny)
|
||||
{
|
||||
if (item.ImageFileHolder.DirectoryName is null)
|
||||
throw new NullReferenceException(nameof(item.ImageFileHolder.DirectoryName));
|
||||
SetAngleBracketCollection(item.ImageFileHolder.DirectoryName);
|
||||
}
|
||||
bool isValidMetadataExtensions = _Configuration.ValidMetadataExtensions.Contains(item.ImageFileHolder.ExtensionLowered);
|
||||
bool isIgnoreExtension = item.ValidImageFormatExtension && _Configuration.IgnoreExtensions.Contains(item.ImageFileHolder.ExtensionLowered);
|
||||
result = GetPropertyOfPrivate(item, sourceDirectoryFileTuples, parseExceptions, isIgnoreExtension, isValidMetadataExtensions);
|
||||
if (!angleBracketCollectionAny)
|
||||
AngleBracketCollection.Clear();
|
||||
return result;
|
||||
}
|
||||
|
||||
|
@ -147,7 +147,20 @@ public class Container
|
||||
return results;
|
||||
}
|
||||
|
||||
private static (int, Shared.Models.Container[]) GetContainers(Configuration configuration, string aPropertySingletonDirectory, List<(int, string, FileHolder[])> fileHolderGroupCollection, List<(int, string, List<(string, Shared.Models.Property?)>)> collectionFromJson)
|
||||
private static Item GetNewItem(Configuration configuration, A_Property propertyLogic, string relativePath, FileHolder sourceDirectoryFileHolder)
|
||||
{
|
||||
Item result;
|
||||
List<string> parseExceptions = new();
|
||||
Shared.Models.Property? property = null;
|
||||
List<Tuple<string, DateTime>> subFileTuples = new();
|
||||
bool isValidImageFormatExtension = configuration.ValidImageFormatExtensions.Contains(sourceDirectoryFileHolder.ExtensionLowered);
|
||||
Item item = new(sourceDirectoryFileHolder.FullName, relativePath, sourceDirectoryFileHolder, isValidImageFormatExtension, property, null, null);
|
||||
property = propertyLogic.GetProperty(item, subFileTuples, parseExceptions);
|
||||
result = new(sourceDirectoryFileHolder.FullName, relativePath, sourceDirectoryFileHolder, isValidImageFormatExtension, property, null, null);
|
||||
return result;
|
||||
}
|
||||
|
||||
private static (int, Shared.Models.Container[]) GetContainers(Configuration configuration, A_Property propertyLogic, string aPropertySingletonDirectory, List<(int, string, FileHolder[])> fileHolderGroupCollection, List<(int, string, List<(string, Shared.Models.Property?)>)> collectionFromJson)
|
||||
{
|
||||
int result = 0;
|
||||
Shared.Models.Container[] results;
|
||||
@ -235,8 +248,7 @@ public class Container
|
||||
throw new Exception();
|
||||
if (sourceDirectoryFileHolder.ExtensionLowered is ".json")
|
||||
continue;
|
||||
isValidImageFormatExtension = configuration.ValidImageFormatExtensions.Contains(sourceDirectoryFileHolder.ExtensionLowered);
|
||||
item = new(sourceDirectoryFileHolder.FullName, relativePath, sourceDirectoryFileHolder, isValidImageFormatExtension, null, null, null);
|
||||
item = GetNewItem(configuration, propertyLogic, relativePath, sourceDirectoryFileHolder);
|
||||
items.Add(item);
|
||||
}
|
||||
if (sourceDirectory == configuration.RootDirectory || items.Any())
|
||||
@ -275,7 +287,7 @@ public class Container
|
||||
(int j, jsonCollection) = GetJsonGroupCollection(configuration, propertyLogic, aPropertySingletonDirectory);
|
||||
(int f, fileHolderGroupCollection) = GetFileHolderGroupCollection(configuration, propertyLogic, searchPattern, topDirectories);
|
||||
collectionFromJson = GetCollection(aPropertySingletonDirectory, jsonCollection);
|
||||
(int t, results) = GetContainers(configuration, aPropertySingletonDirectory, fileHolderGroupCollection, collectionFromJson);
|
||||
(int t, results) = GetContainers(configuration, propertyLogic, aPropertySingletonDirectory, fileHolderGroupCollection, collectionFromJson);
|
||||
return (j, f, t, results);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user