diff --git a/Instance/DlibDotNet.cs b/Instance/DlibDotNet.cs index fbc12ba..9e2e467 100644 --- a/Instance/DlibDotNet.cs +++ b/Instance/DlibDotNet.cs @@ -781,6 +781,7 @@ public partial class DlibDotNet { string dFacesContentDirectory = Path.Combine(dResultsFullGroupDirectory, "()"); string d2FacePartsContentDirectory = Path.Combine(d2ResultsFullGroupDirectory, "()"); + Shared.Models.Stateless.Methods.IPath.ChangeDateForEmptyDirectories(d2FacePartsContentDirectory, ticks); string dFacesCollectionDirectory = Path.Combine(dResultsFullGroupDirectory, "[]", _Configuration.PropertyConfiguration.ResultAllInOne); Dictionary> idToNormalizedRectangleToMapping = Map.Models.Stateless.Methods.IMapLogic.GetIdToNormalizedRectangleToFace(mappingCollection); if (Directory.Exists(fPhotoPrismContentDirectory)) diff --git a/Shared/Models/Stateless/Methods/IPath.cs b/Shared/Models/Stateless/Methods/IPath.cs index b41259e..d62d322 100644 --- a/Shared/Models/Stateless/Methods/IPath.cs +++ b/Shared/Models/Stateless/Methods/IPath.cs @@ -13,6 +13,11 @@ public interface IPath static bool DeleteEmptyDirectories(string rootDirectory) => XPath.DeleteEmptyDirectories(rootDirectory); + void TestStatic_ChangeDateForEmptyDirectories(string rootDirectory, long ticks) => + ChangeDateForEmptyDirectories(rootDirectory, ticks); + static void ChangeDateForEmptyDirectories(string rootDirectory, long ticks) => + XPath.ChangeDateForEmptyDirectories(rootDirectory, ticks); + void TestStatic_DeleteEmptyDirectories(string rootDirectory, List deletedDirectories) => DeleteEmptyDirectories(rootDirectory, deletedDirectories); static void DeleteEmptyDirectories(string rootDirectory, List deletedDirectories) => diff --git a/Shared/Models/Stateless/Methods/XPath.cs b/Shared/Models/Stateless/Methods/XPath.cs index 08f17a0..1b6815a 100644 --- a/Shared/Models/Stateless/Methods/XPath.cs +++ b/Shared/Models/Stateless/Methods/XPath.cs @@ -176,4 +176,18 @@ internal abstract class XPath return result; } + internal static void ChangeDateForEmptyDirectories(string rootDirectory, long ticks) + { + DateTime dateTime = new(ticks); + IEnumerable fileSystemEntries; + string[] directories = Directory.GetDirectories(rootDirectory, "*", SearchOption.AllDirectories); + foreach (string directory in directories) + { + fileSystemEntries = Directory.EnumerateFileSystemEntries(directory, "*", SearchOption.TopDirectoryOnly); + if (fileSystemEntries.Any()) + continue; + Directory.SetLastWriteTime(directory, dateTime); + } + } + } \ No newline at end of file