Save Url and Get New Root Directory

This commit is contained in:
2022-09-21 13:55:57 -07:00
parent 90244811ed
commit 192d2ad776
8 changed files with 107 additions and 27 deletions

View File

@ -77,7 +77,7 @@ public class Configuration : Shared.Models.Properties.IPropertyConfiguration
public void ChangeRootDirectory(string rootDirectory) => _RootDirectory = rootDirectory;
public static void Verify(Configuration propertyConfiguration)
public static void Verify(Configuration propertyConfiguration, bool requireExist)
{
if (propertyConfiguration is null)
throw new NullReferenceException(nameof(propertyConfiguration));
@ -101,7 +101,7 @@ public class Configuration : Shared.Models.Properties.IPropertyConfiguration
throw new NullReferenceException(nameof(propertyConfiguration.FileNameDirectorySeparator));
if (string.IsNullOrEmpty(propertyConfiguration.Pattern))
throw new NullReferenceException(nameof(propertyConfiguration.Pattern));
if (string.IsNullOrEmpty(propertyConfiguration.RootDirectory) || !Directory.Exists(propertyConfiguration.RootDirectory))
if (string.IsNullOrEmpty(propertyConfiguration.RootDirectory) || (requireExist && !Directory.Exists(propertyConfiguration.RootDirectory)))
throw new NullReferenceException(nameof(propertyConfiguration.RootDirectory));
}

View File

@ -15,7 +15,11 @@ public class Container
string[] sourceDirectoryFiles;
List<string[]> fileCollections = new();
if (!topDirectories.Any())
{
if (!Directory.Exists(rootDirectory))
_ = Directory.CreateDirectory(rootDirectory);
topDirectories.AddRange(from l in Directory.GetDirectories(rootDirectory, "*", SearchOption.TopDirectoryOnly) select Path.GetFullPath(l));
}
for (int g = 1; g < 5; g++)
{
if (g == 4)
@ -76,14 +80,8 @@ public class Container
{
if (sourceDirectoryFiles.Any() || Directory.GetDirectories(subDirectory, "*", SearchOption.TopDirectoryOnly).Any())
results.Add(new(g, subDirectory, sourceDirectoryFiles));
else if (searchPattern == "*")
{
sourceDirectoryFiles = Directory.GetFiles(subDirectory, searchPattern, SearchOption.TopDirectoryOnly);
result += sourceDirectoryFiles.Length;
foreach (string subFile in sourceDirectoryFiles)
File.Delete(subFile);
else if (searchPattern == "*" && subDirectory != rootDirectory)
Directory.Delete(subDirectory);
}
}
}
fileCollections.Reverse();
@ -172,6 +170,11 @@ public class Container
{
foreach (FileHolder sourceDirectoryFileHolder in sourceDirectoryFileHolderCollection)
{
if (sourceDirectory.Contains("Facebook"))
{
if (sourceDirectory.Contains("Facebook"))
{ }
}
relativePath = Shared.Models.Stateless.Methods.IPath.GetRelativePath(sourceDirectoryFileHolder.FullName, length, forceExtensionToLower: true);
fileHolderKeyValuePairs.Add(relativePath, new(sourceDirectory, sourceDirectoryFileHolder));
}
@ -247,7 +250,7 @@ public class Container
item = new(sourceDirectoryFileHolder.FullName, relativePath, sourceDirectoryFileHolder, isValidImageFormatExtension, null, null, null);
items.Add(item);
}
if (items.Any())
if (sourceDirectory == configuration.RootDirectory || items.Any())
{
if (!keyValuePairs.ContainsKey(sourceDirectory))
{