diff --git a/Instance/DlibDotNet.cs b/Instance/DlibDotNet.cs index 45d5aa9..a569941 100644 --- a/Instance/DlibDotNet.cs +++ b/Instance/DlibDotNet.cs @@ -70,7 +70,7 @@ public partial class DlibDotNet _ArgZeroIsConfigurationRootDirectory = propertyConfiguration.RootDirectory == argZero; if (!Directory.Exists(argZero)) _ = Directory.CreateDirectory(argZero); - _ = Shared.Models.Stateless.Methods.IPath.DeleteEmptyDirectories(argZero); + Shared.Models.Stateless.Methods.IPath.ChangeDateForEmptyDirectories(argZero, ticks); if (!Directory.Exists(argZero)) _ = Directory.CreateDirectory(argZero); _Log.Information(configuration.ModelDirectory); @@ -116,9 +116,7 @@ public partial class DlibDotNet progressBar.Tick(); string rootDirectory = propertyConfiguration.RootDirectory; string peopleRootDirectory = Property.Models.Stateless.IResult.GetResultsDateGroupDirectory(propertyConfiguration, nameof(A2_People)); - string? rootResultsDirectory = Path.GetDirectoryName(Path.GetDirectoryName(peopleRootDirectory)); - if (rootResultsDirectory is null) - throw new Exception(); + string? rootResultsDirectory = Path.GetDirectoryName(Path.GetDirectoryName(peopleRootDirectory)) ?? throw new Exception(); Storage storage = new(rootDirectory, rootResultsDirectory, peopleRootDirectory); _ = Shared.Models.Stateless.Methods.IPath.DeleteEmptyDirectories(Path.Combine(peopleRootDirectory, "{}")); (_GenealogicalDataCommunicationHeaderLines, Dictionary> individuals, _GenealogicalDataCommunicationFooterLines) = Shared.Models.Stateless.Methods.IGenealogicalDataCommunication.GetIndividuals(configuration.GenealogicalDataCommunicationFile, requireNickName: true); @@ -143,9 +141,7 @@ public partial class DlibDotNet { string d2FacePartsRootDirectory = Property.Models.Stateless.IResult.GetResultsDateGroupDirectory(propertyConfiguration, nameof(D2_FaceParts)); _Log.Information(string.Concat("Cleaning <", d2FacePartsRootDirectory, ">")); - _ = Shared.Models.Stateless.Methods.IPath.DeleteEmptyDirectories(d2FacePartsRootDirectory); - if (appSettings.MaxDegreeOfParallelism < 2) - ticks = LogDelta(ticks, nameof(Shared.Models.Stateless.Methods.IPath.DeleteEmptyDirectories)); + Shared.Models.Stateless.Methods.IPath.ChangeDateForEmptyDirectories(d2FacePartsRootDirectory, ticks); } message = $"There were {_Exceptions.Count} exception(s) thrown! {Environment.NewLine}{string.Join(Environment.NewLine, _Exceptions)}"; _Log.Information(message); diff --git a/Shared/Models/Stateless/Methods/XPath.cs b/Shared/Models/Stateless/Methods/XPath.cs index 12f4395..61b28e5 100644 --- a/Shared/Models/Stateless/Methods/XPath.cs +++ b/Shared/Models/Stateless/Methods/XPath.cs @@ -201,7 +201,11 @@ internal abstract class XPath { DateTime dateTime = new(ticks); IEnumerable fileSystemEntries; - string[] directories = Directory.GetDirectories(rootDirectory, "*", SearchOption.AllDirectories); + string[] directories; + if (!Directory.Exists(rootDirectory)) + directories = Array.Empty(); + else + directories = Directory.GetDirectories(rootDirectory, "*", SearchOption.AllDirectories); foreach (string directory in directories) { fileSystemEntries = Directory.EnumerateFileSystemEntries(directory, "*", SearchOption.TopDirectoryOnly);