From 7a429de157630b10f8a02be53da4935688a671b5 Mon Sep 17 00:00:00 2001 From: Mike Phares Date: Tue, 8 Aug 2023 18:02:06 -0700 Subject: [PATCH] Removed Storage 10.0 --- BlurHash/BlurHash.csproj | 1 - Compare/Compare.csproj | 1 - Date-Group/Date-Group.csproj | 1 - Delete-By-Distinct/Delete-By-Distinct.csproj | 1 - Delete-By-Relative/Delete-By-Relative.csproj | 1 - Distance/Distance.csproj | 1 - Duplicate-Search/Duplicate-Search.csproj | 1 - Face/Face.csproj | 1 - FaceParts/FaceParts.csproj | 1 - .../FaceRecognitionDotNet.csproj | 1 - Instance/DlibDotNet.cs | 26 +++--- Instance/Instance.csproj | 1 - Instance/Models/Binder/Configuration.cs | 3 + Instance/Models/Configuration.cs | 3 + Map/Map.csproj | 1 - Metadata/Metadata.csproj | 1 - PhotoPrism/PhotoPrism.csproj | 1 - PrepareForOld/PrepareForOld.csproj | 1 - Property-Compare/Property-Compare.csproj | 1 - Property/Property.csproj | 1 - Resize/Resize.csproj | 1 - Shared/.kanbn/index.md | 1 + ...ngle-over-person-in-full-image-for-some.md | 9 +++ Shared/Models/Methods/IStorage.cs | 8 -- Shared/Models/Properties/IStorage.cs | 16 ---- .../Stateless/Methods/IPersonBirthday.cs | 20 ----- .../Stateless/Methods/IPersonContainer.cs | 8 +- Shared/Models/Stateless/Methods/IStorage.cs | 14 ---- .../Stateless/Methods/PersonContainer.cs | 3 +- Shared/Models/Stateless/Methods/Storage.cs | 42 ---------- Shared/Models/Storage.cs | 79 ------------------- Tests/Tests.csproj | 1 - .../TestsWithFaceRecognitionDotNet.csproj | 1 - ThumbHash/ThumbHash.csproj | 1 - 34 files changed, 35 insertions(+), 218 deletions(-) create mode 100644 Shared/.kanbn/tasks/triangle-over-person-in-full-image-for-some.md delete mode 100644 Shared/Models/Methods/IStorage.cs delete mode 100644 Shared/Models/Properties/IStorage.cs delete mode 100644 Shared/Models/Stateless/Methods/IStorage.cs delete mode 100644 Shared/Models/Stateless/Methods/Storage.cs delete mode 100644 Shared/Models/Storage.cs diff --git a/BlurHash/BlurHash.csproj b/BlurHash/BlurHash.csproj index 8540e2e..59309ef 100644 --- a/BlurHash/BlurHash.csproj +++ b/BlurHash/BlurHash.csproj @@ -1,7 +1,6 @@ enable - 10.0 enable library win-x64 diff --git a/Compare/Compare.csproj b/Compare/Compare.csproj index 42443d5..a1b4478 100644 --- a/Compare/Compare.csproj +++ b/Compare/Compare.csproj @@ -1,7 +1,6 @@ enable - 10.0 enable Exe win-x64 diff --git a/Date-Group/Date-Group.csproj b/Date-Group/Date-Group.csproj index b091c3c..1c5a4dc 100644 --- a/Date-Group/Date-Group.csproj +++ b/Date-Group/Date-Group.csproj @@ -1,7 +1,6 @@ enable - 10.0 enable Exe win-x64 diff --git a/Delete-By-Distinct/Delete-By-Distinct.csproj b/Delete-By-Distinct/Delete-By-Distinct.csproj index fd543e2..5cf586a 100644 --- a/Delete-By-Distinct/Delete-By-Distinct.csproj +++ b/Delete-By-Distinct/Delete-By-Distinct.csproj @@ -1,7 +1,6 @@  enable - 10.0 enable Exe win-x64 diff --git a/Delete-By-Relative/Delete-By-Relative.csproj b/Delete-By-Relative/Delete-By-Relative.csproj index 2d0760a..73a8a20 100644 --- a/Delete-By-Relative/Delete-By-Relative.csproj +++ b/Delete-By-Relative/Delete-By-Relative.csproj @@ -1,7 +1,6 @@  enable - 10.0 enable Exe win-x64 diff --git a/Distance/Distance.csproj b/Distance/Distance.csproj index 295db12..1bef709 100644 --- a/Distance/Distance.csproj +++ b/Distance/Distance.csproj @@ -1,7 +1,6 @@ enable - 10.0 enable library win-x64 diff --git a/Duplicate-Search/Duplicate-Search.csproj b/Duplicate-Search/Duplicate-Search.csproj index fa06b3c..65aaa4d 100644 --- a/Duplicate-Search/Duplicate-Search.csproj +++ b/Duplicate-Search/Duplicate-Search.csproj @@ -1,7 +1,6 @@ enable - 10.0 enable Exe win-x64 diff --git a/Face/Face.csproj b/Face/Face.csproj index 93b07cc..6918f39 100644 --- a/Face/Face.csproj +++ b/Face/Face.csproj @@ -1,7 +1,6 @@ enable - 10.0 enable library win-x64 diff --git a/FaceParts/FaceParts.csproj b/FaceParts/FaceParts.csproj index 714a857..a9bac33 100644 --- a/FaceParts/FaceParts.csproj +++ b/FaceParts/FaceParts.csproj @@ -1,7 +1,6 @@ enable - 10.0 enable library win-x64 diff --git a/FaceRecognitionDotNet/FaceRecognitionDotNet.csproj b/FaceRecognitionDotNet/FaceRecognitionDotNet.csproj index acbd3ed..0433b6e 100644 --- a/FaceRecognitionDotNet/FaceRecognitionDotNet.csproj +++ b/FaceRecognitionDotNet/FaceRecognitionDotNet.csproj @@ -1,7 +1,6 @@ enable - 10.0 enable library win-x64 diff --git a/Instance/DlibDotNet.cs b/Instance/DlibDotNet.cs index c822c4a..a83eb97 100644 --- a/Instance/DlibDotNet.cs +++ b/Instance/DlibDotNet.cs @@ -117,16 +117,14 @@ public partial class DlibDotNet ProgressBarOptions options = new() { ProgressCharacter = '─', ProgressBarOnBottom = true, DisableBottomPercentage = true }; using ProgressBar progressBar = new(1, message, options); progressBar.Tick(); - string rootDirectory = propertyConfiguration.RootDirectory; string peopleRootDirectory = Property.Models.Stateless.IResult.GetResultsDateGroupDirectory(propertyConfiguration, nameof(A2_People)); 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, propertyConfiguration.ResultSingleton)); + string a2PeopleSingletonDirectory = Property.Models.Stateless.IResult.GetResultsDateGroupDirectory(configuration.PropertyConfiguration, nameof(A2_People), "{}"); string a2PeopleContentDirectory = Property.Models.Stateless.IResult.GetResultsDateGroupDirectory(configuration.PropertyConfiguration, nameof(A2_People), "([])"); - personContainers = new(IPersonContainer.GetPersonContainers(storage, configuration.PersonBirthdayFormat, configuration.PersonCharacters.ToArray(), _Faces.FileNameExtension)); + personContainers = new(IPersonContainer.GetPersonContainers(a2PeopleSingletonDirectory, configuration.PersonBirthdayFormat, configuration.PersonCharacters.ToArray(), _Faces.FileNameExtension)); if (configuration.JLinks.Where(l => !string.IsNullOrEmpty(l)).Any()) { - string a2PeopleSingletonDirectory = Property.Models.Stateless.IResult.GetResultsDateGroupDirectory(configuration.PropertyConfiguration, nameof(A2_People), "{}"); _JLinkResolvedDirectories.AddRange(Map.Models.Stateless.Methods.IMapLogic.GetJLinkDirectories(configuration.GenealogicalDataCommunicationFile, configuration.JLinks, configuration.PersonBirthdayFormat, configuration.PersonCharacters.ToArray(), a2PeopleSingletonDirectory, a2PeopleContentDirectory)); if (_JLinkResolvedDirectories.Count == 0) throw new Exception(nameof(Map.Models.Stateless.Methods.IMapLogic.GetJLinkDirectories)); @@ -832,8 +830,9 @@ public partial class DlibDotNet } } - private void MapLogic(long ticks, ReadOnlyCollection containers, string dResultsFullGroupDirectory, string d2ResultsFullGroupDirectory, string fPhotoPrismContentDirectory, MapLogic mapLogic, string outputResolution, ReadOnlyDictionary> personKeyToIds, ReadOnlyCollection distinctFilteredFaces, ReadOnlyCollection distinctFilteredMappingCollection) + private void MapLogic(long ticks, ReadOnlyCollection containers, string fPhotoPrismContentDirectory, MapLogic mapLogic, string outputResolution, ReadOnlyDictionary> personKeyToIds, ReadOnlyCollection distinctFilteredFaces, ReadOnlyCollection distinctFilteredMappingCollection) { + (_, _, string dResultsFullGroupDirectory, string d2ResultsFullGroupDirectory) = GetResultsFullGroupDirectories(outputResolution); string dFacesContentDirectory = Path.Combine(dResultsFullGroupDirectory, _Configuration.PropertyConfiguration.ResultContent); string d2FacePartsContentDirectory = Path.Combine(d2ResultsFullGroupDirectory, _Configuration.PropertyConfiguration.ResultContent); string d2FacePartsContentCollectionDirectory = Path.Combine(d2ResultsFullGroupDirectory, "[()]"); @@ -962,7 +961,7 @@ public partial class DlibDotNet return results; } - private static void Verify(string eDistanceContentDirectory, ReadOnlyCollection distinctFilteredItems) + private static void SavePropertyShortcutsForOutputResolutions(string eDistanceContentDirectory, ReadOnlyCollection distinctFilteredItems) { #if VerifyItem bool found; @@ -1106,9 +1105,6 @@ public partial class DlibDotNet string aResultsFullGroupDirectory; string bResultsFullGroupDirectory; string cResultsFullGroupDirectory; - string dResultsFullGroupDirectory; - string c2ResultsFullGroupDirectory; - string d2ResultsFullGroupDirectory; string fPhotoPrismContentDirectory; const string fileSearchFilter = "*"; string fPhotoPrismSingletonDirectory; @@ -1208,6 +1204,8 @@ public partial class DlibDotNet ReadOnlyCollection distinctFilteredItems = Shared.Models.Stateless.Methods.IContainer.GetItems(_Configuration.PropertyConfiguration, new(containers), distinctItems: true, filterItems: true); if (_Configuration.LookForAbandoned) { + string dResultsFullGroupDirectory; + string d2ResultsFullGroupDirectory; foreach (string outputResolution in _Configuration.OutputResolutions) { (cResultsFullGroupDirectory, _, dResultsFullGroupDirectory, d2ResultsFullGroupDirectory) = GetResultsFullGroupDirectories(outputResolution); @@ -1215,7 +1213,6 @@ public partial class DlibDotNet } } _Distance.Clear(); - Verify(eDistanceContentDirectory, distinctFilteredItems); ReadOnlyCollection distinctFilteredFaces = Map.Models.Stateless.Methods.IMapLogic.GetFaces(distinctFilteredItems); ReadOnlyCollection distinctFilteredMappingCollection = GetMappings(_Configuration.PropertyConfiguration, containers, mapLogic, distinctItems: true); if (runToDoCollectionFirst) @@ -1228,23 +1225,28 @@ public partial class DlibDotNet if (_PropertyRootExistedBefore) break; personKeyToIds = mapLogic.GetPersonKeyToIds(); + if (_Configuration.SavePropertyShortcutsForOutputResolutions.Contains(outputResolution)) + SavePropertyShortcutsForOutputResolutions(eDistanceContentDirectory, distinctFilteredItems); if (!string.IsNullOrEmpty(a2PeopleContentDirectory) && _Configuration.SaveShortcutsForOutputResolutions.Contains(outputResolution)) mapLogic.SaveShortcutsForOutputResolutionsPreMapLogic(eDistanceContentDirectory, personKeyToIds, distinctFilteredMappingCollection); if (!string.IsNullOrEmpty(a2PeopleContentDirectory) && _Configuration.JLinks.Where(l => !string.IsNullOrEmpty(l)).Any() && _Configuration.SaveFilteredOriginalImagesFromJLinksForOutputResolutions.Contains(outputResolution)) mapLogic.SaveFilteredOriginalImagesFromJLinks(_Configuration.JLinks, personContainers, a2PeopleContentDirectory, personKeyToIds, distinctFilteredMappingCollection); - (cResultsFullGroupDirectory, c2ResultsFullGroupDirectory, dResultsFullGroupDirectory, d2ResultsFullGroupDirectory) = GetResultsFullGroupDirectories(outputResolution); if (_ArgZeroIsConfigurationRootDirectory && _Configuration.SaveResizedSubfiles && outputResolution == _Configuration.OutputResolutions[0] && _Configuration.LoadOrCreateThenSaveDistanceResultsForOutputResolutions.Contains(outputResolution) && _Exceptions.Count == 0) - MapLogic(ticks, new(containers), dResultsFullGroupDirectory, d2ResultsFullGroupDirectory, fPhotoPrismContentDirectory, mapLogic, outputResolution, new(personKeyToIds), distinctFilteredFaces, distinctFilteredMappingCollection); + MapLogic(ticks, new(containers), fPhotoPrismContentDirectory, mapLogic, outputResolution, new(personKeyToIds), distinctFilteredFaces, distinctFilteredMappingCollection); if (_Configuration.SaveRandomForOutputResolutions.Contains(outputResolution) && personKeyToIds.Count > 0 && distinctFilteredMappingCollection.Count > 0) _Random.Random(_Configuration.PropertyConfiguration, outputResolution, personKeyToIds, distinctFilteredMappingCollection); if (_IsEnvironment.Development) continue; if (!_IsEnvironment.Development) { + string dResultsFullGroupDirectory; + string c2ResultsFullGroupDirectory; + string d2ResultsFullGroupDirectory; + (cResultsFullGroupDirectory, c2ResultsFullGroupDirectory, dResultsFullGroupDirectory, d2ResultsFullGroupDirectory) = GetResultsFullGroupDirectories(outputResolution); _ = Shared.Models.Stateless.Methods.IPath.DeleteEmptyDirectories(Path.Combine(aResultsFullGroupDirectory, _Configuration.PropertyConfiguration.ResultSingleton)); _ = Shared.Models.Stateless.Methods.IPath.DeleteEmptyDirectories(Path.Combine(bResultsFullGroupDirectory, _Configuration.PropertyConfiguration.ResultSingleton)); _ = Shared.Models.Stateless.Methods.IPath.DeleteEmptyDirectories(Path.Combine(cResultsFullGroupDirectory, _Configuration.PropertyConfiguration.ResultSingleton)); diff --git a/Instance/Instance.csproj b/Instance/Instance.csproj index 2628475..add38bb 100644 --- a/Instance/Instance.csproj +++ b/Instance/Instance.csproj @@ -1,7 +1,6 @@  enable - 10.0 enable Exe win-x64 diff --git a/Instance/Models/Binder/Configuration.cs b/Instance/Models/Binder/Configuration.cs index 91f5add..e3817a1 100644 --- a/Instance/Models/Binder/Configuration.cs +++ b/Instance/Models/Binder/Configuration.cs @@ -79,6 +79,7 @@ public class Configuration [Display(Name = "Save Mapped"), Required] public string[] SaveMappedForOutputResolutions { get; set; } [Display(Name = "Save Resized Images by Person Key Formatted"), Required] public string[] SaveFilteredOriginalImagesFromJLinksForOutputResolutions { get; set; } [Display(Name = "Save For Individually"), Required] public bool? SaveIndividually { get; set; } + [Display(Name = "Save Property Shortcuts for Output Resolutions"), Required] public string[] SavePropertyShortcutsForOutputResolutions { get; set; } [Display(Name = "Save Random For Output Resolutions"), Required] public string[] SaveRandomForOutputResolutions { get; set; } [Display(Name = "Save Resized Subfiles"), Required] public bool? SaveResizedSubfiles { get; set; } [Display(Name = "Save Shortcuts"), Required] public string[] SaveShortcutsForOutputResolutions { get; set; } @@ -221,6 +222,7 @@ public class Configuration configuration.SaveFilteredOriginalImagesFromJLinksForOutputResolutions ??= Array.Empty(); if (configuration.SaveIndividually is null) throw new NullReferenceException(nameof(configuration.SaveIndividually)); + configuration.SavePropertyShortcutsForOutputResolutions ??= Array.Empty(); configuration.SaveRandomForOutputResolutions ??= Array.Empty(); if (configuration.SaveResizedSubfiles is null) throw new NullReferenceException(nameof(configuration.SaveResizedSubfiles)); @@ -311,6 +313,7 @@ public class Configuration configuration.SaveIndividually.Value, configuration.SaveFullYearOfRandomFiles.Value, configuration.SaveMappedForOutputResolutions, + configuration.SavePropertyShortcutsForOutputResolutions, configuration.SaveRandomForOutputResolutions, configuration.SaveResizedSubfiles.Value, configuration.SaveShortcutsForOutputResolutions, diff --git a/Instance/Models/Configuration.cs b/Instance/Models/Configuration.cs index f3c706c..9732904 100644 --- a/Instance/Models/Configuration.cs +++ b/Instance/Models/Configuration.cs @@ -75,6 +75,7 @@ public class Configuration public bool SaveFullYearOfRandomFiles { init; get; } public bool SaveIndividually { init; get; } public string[] SaveMappedForOutputResolutions { init; get; } + public string[] SavePropertyShortcutsForOutputResolutions { init; get; } public string[] SaveRandomForOutputResolutions { init; get; } public bool SaveResizedSubfiles { init; get; } public string[] SaveShortcutsForOutputResolutions { init; get; } @@ -159,6 +160,7 @@ public class Configuration bool saveIndividually, bool saveFullYearOfRandomFiles, string[] saveMappedForOutputResolutions, + string[] savePropertyShortcutsForOutputResolutions, string[] saveRandomForOutputResolutions, bool saveResizedSubfiles, string[] saveShortcutsForOutputResolutions, @@ -241,6 +243,7 @@ public class Configuration SaveFullYearOfRandomFiles = saveFullYearOfRandomFiles; SaveIndividually = saveIndividually; SaveMappedForOutputResolutions = saveMappedForOutputResolutions; + SavePropertyShortcutsForOutputResolutions = savePropertyShortcutsForOutputResolutions; SaveRandomForOutputResolutions = saveRandomForOutputResolutions; SaveResizedSubfiles = saveResizedSubfiles; SaveShortcutsForOutputResolutions = saveShortcutsForOutputResolutions; diff --git a/Map/Map.csproj b/Map/Map.csproj index c2497ff..96a39a4 100644 --- a/Map/Map.csproj +++ b/Map/Map.csproj @@ -1,7 +1,6 @@ enable - 10.0 enable library win-x64 diff --git a/Metadata/Metadata.csproj b/Metadata/Metadata.csproj index 6bdd637..2400a9f 100644 --- a/Metadata/Metadata.csproj +++ b/Metadata/Metadata.csproj @@ -1,7 +1,6 @@ enable - 10.0 enable library win-x64 diff --git a/PhotoPrism/PhotoPrism.csproj b/PhotoPrism/PhotoPrism.csproj index c0b73ca..4c543c3 100644 --- a/PhotoPrism/PhotoPrism.csproj +++ b/PhotoPrism/PhotoPrism.csproj @@ -1,7 +1,6 @@ enable - 10.0 enable library win-x64 diff --git a/PrepareForOld/PrepareForOld.csproj b/PrepareForOld/PrepareForOld.csproj index 442b510..04f07a6 100644 --- a/PrepareForOld/PrepareForOld.csproj +++ b/PrepareForOld/PrepareForOld.csproj @@ -1,7 +1,6 @@ enable - 10.0 enable Exe win-x64 diff --git a/Property-Compare/Property-Compare.csproj b/Property-Compare/Property-Compare.csproj index e7c978a..1886282 100644 --- a/Property-Compare/Property-Compare.csproj +++ b/Property-Compare/Property-Compare.csproj @@ -1,7 +1,6 @@ enable - 10.0 enable library win-x64 diff --git a/Property/Property.csproj b/Property/Property.csproj index 0863b75..7fe9599 100644 --- a/Property/Property.csproj +++ b/Property/Property.csproj @@ -1,7 +1,6 @@ enable - 10.0 enable library win-x64;linux-x64 diff --git a/Resize/Resize.csproj b/Resize/Resize.csproj index 944a413..45013d1 100644 --- a/Resize/Resize.csproj +++ b/Resize/Resize.csproj @@ -1,7 +1,6 @@ enable - 10.0 enable library win-x64 diff --git a/Shared/.kanbn/index.md b/Shared/.kanbn/index.md index d9d3327..dc139e7 100644 --- a/Shared/.kanbn/index.md +++ b/Shared/.kanbn/index.md @@ -32,6 +32,7 @@ taskTemplate: '^+^_${overdue ? ''^R'' : ''''}${name}^: ${relations ? (''\n^-^/^g - [nef-support](tasks/nef-support.md) - [reload-slideshow](tasks/reload-slideshow.md) - [set-date-taken-when-missing](tasks/set-date-taken-when-missing.md) +- [triangle-over-person-in-full-image-for-some](tasks/triangle-over-person-in-full-image-for-some.md) ## In Progress diff --git a/Shared/.kanbn/tasks/triangle-over-person-in-full-image-for-some.md b/Shared/.kanbn/tasks/triangle-over-person-in-full-image-for-some.md new file mode 100644 index 0000000..b0616e7 --- /dev/null +++ b/Shared/.kanbn/tasks/triangle-over-person-in-full-image-for-some.md @@ -0,0 +1,9 @@ +--- +created: 2023-08-08T23:48:54.260Z +updated: 2023-08-08T23:48:54.257Z +assigned: "" +progress: 0 +tags: [] +--- + +# Triangle over person in full image for some diff --git a/Shared/Models/Methods/IStorage.cs b/Shared/Models/Methods/IStorage.cs deleted file mode 100644 index bc09868..0000000 --- a/Shared/Models/Methods/IStorage.cs +++ /dev/null @@ -1,8 +0,0 @@ -namespace View_by_Distance.Shared.Models.Methods; - -public interface IStorage : Stateless.Methods.IStorage -{ - - // ... - -} \ No newline at end of file diff --git a/Shared/Models/Properties/IStorage.cs b/Shared/Models/Properties/IStorage.cs deleted file mode 100644 index 218bc27..0000000 --- a/Shared/Models/Properties/IStorage.cs +++ /dev/null @@ -1,16 +0,0 @@ -namespace View_by_Distance.Shared.Models.Properties; - -public interface IStorage -{ - - public string DistanceResultRootDirectory { get; } - public string FaceRootDirectory { get; } - public string IndexInfoRootDirectory { get; } - public string MetadataRootDirectory { get; } - public string PeopleRootDirectory { get; } - public string ResizeRootDirectory { get; } - public string RootDirectory { get; } - public string RootResultsDirectory { get; } - public string UrlRoot { get; } - -} \ No newline at end of file diff --git a/Shared/Models/Stateless/Methods/IPersonBirthday.cs b/Shared/Models/Stateless/Methods/IPersonBirthday.cs index 757e7f3..09bd3b6 100644 --- a/Shared/Models/Stateless/Methods/IPersonBirthday.cs +++ b/Shared/Models/Stateless/Methods/IPersonBirthday.cs @@ -80,11 +80,6 @@ public interface IPersonBirthday static string GetFormatted(string personBirthdayFormat, long personKey) => GetFormatted(personBirthdayFormat, GetPersonBirthday(personKey)); - Models.PersonBirthday TestStatic_GetNextBirthDate(Properties.IStorage storage) => - GetNextBirthDate(storage); - static Models.PersonBirthday GetNextBirthDate(Properties.IStorage storage) => - throw new Exception(storage.ToString()); // Person.GetNextBirthDate(storage); - TimeSpan? TestStatic_Get(DateTime minimumDateTime, Models.PersonBirthday personBirthday) => GetTimeSpan(minimumDateTime, isWrongYear: false, personBirthday); static TimeSpan? GetTimeSpan(DateTime minimumDateTime, Models.PersonBirthday personBirthday) => @@ -95,11 +90,6 @@ public interface IPersonBirthday static Models.PersonBirthday? GetPersonBirthday(string personBirthdayFormat, string personKeyFormatted) => PersonBirthday.GetPersonBirthday(personBirthdayFormat, personKeyFormatted); - bool TestStatic_DoesBirthDateExits(Properties.IStorage storage, Models.PersonBirthday personBirthday) => - DoesBirthDateExits(storage, personBirthday); - static bool DoesBirthDateExits(Properties.IStorage storage, Models.PersonBirthday personBirthday) => - DoesBirthDateExits(storage, personBirthday); - TimeSpan? TestStatic_Get(long minimumDateTimeTicks, bool? isWrongYear, Models.PersonBirthday personBirthday) => GetTimeSpan(minimumDateTimeTicks, isWrongYear, personBirthday); static TimeSpan? GetTimeSpan(long minimumDateTimeTicks, bool? isWrongYear, Models.PersonBirthday personBirthday) => @@ -110,16 +100,6 @@ public interface IPersonBirthday static TimeSpan? GetTimeSpan(DateTime minimumDateTime, bool? isWrongYear, Models.PersonBirthday personBirthday) => PersonBirthday.GetTimeSpan(minimumDateTime, isWrongYear, personBirthday); - string TestStatic_GetFileFullName(Properties.IStorage storage, string personBirthdayFormat, Models.PersonBirthday personBirthday) => - GetFileFullName(storage, personBirthdayFormat, personBirthday); - static string GetFileFullName(Properties.IStorage storage, string personBirthdayFormat, Models.PersonBirthday personBirthday) => - Path.Combine(storage.PeopleRootDirectory, "{}", GetFileName(personBirthdayFormat, personBirthday)); - - bool TestStatic_DoesBirthDateExits(Properties.IStorage storage, string personBirthdayFormat, Models.PersonBirthday personBirthday) => - DoesBirthDateExits(storage, personBirthdayFormat, personBirthday); - static bool DoesBirthDateExits(Properties.IStorage storage, string personBirthdayFormat, Models.PersonBirthday personBirthday) => - File.Exists(GetFileFullName(storage, personBirthdayFormat, personBirthday)); - DateTime? TestStatic_GetDateTime(string personBirthdayFormat, string personKeyFormatted) => GetDateTime(personBirthdayFormat, personKeyFormatted); static DateTime? GetDateTime(string personBirthdayFormat, string personKeyFormatted) => diff --git a/Shared/Models/Stateless/Methods/IPersonContainer.cs b/Shared/Models/Stateless/Methods/IPersonContainer.cs index 3a85733..f73a33c 100644 --- a/Shared/Models/Stateless/Methods/IPersonContainer.cs +++ b/Shared/Models/Stateless/Methods/IPersonContainer.cs @@ -10,10 +10,10 @@ public interface IPersonContainer static List GetPersonKeys(IEnumerable personContainers) => PersonContainer.GetPersonKeys(personContainers); - List TestStatic_GetPersonContainers(Properties.IStorage storage, string personBirthdayFormat, char[] personCharacters, string facesFileNameExtension) => - GetPersonContainers(storage, personBirthdayFormat, personCharacters, facesFileNameExtension); - static List GetPersonContainers(Properties.IStorage storage, string personBirthdayFormat, char[] personCharacters, string facesFileNameExtension) => - PersonContainer.GetPersonContainers(storage, personBirthdayFormat, personCharacters, facesFileNameExtension); + List TestStatic_GetPersonContainers(string a2PeopleSingletonDirectory, string personBirthdayFormat, char[] personCharacters, string facesFileNameExtension) => + GetPersonContainers(a2PeopleSingletonDirectory, personBirthdayFormat, personCharacters, facesFileNameExtension); + static List GetPersonContainers(string a2PeopleSingletonDirectory, string personBirthdayFormat, char[] personCharacters, string facesFileNameExtension) => + PersonContainer.GetPersonContainers(a2PeopleSingletonDirectory, personBirthdayFormat, personCharacters, facesFileNameExtension); string? TestStatic_VerifyAge(char numberSign, string personDisplayDirectory, string? minusOne, string personDisplayDirectoryName, int? approximateYears, List<(string PersonKeyFormatted, Models.PersonBirthday PersonBirthday)> collection) => VerifyAge(numberSign, personDisplayDirectory, minusOne, personDisplayDirectoryName, approximateYears, collection); diff --git a/Shared/Models/Stateless/Methods/IStorage.cs b/Shared/Models/Stateless/Methods/IStorage.cs deleted file mode 100644 index 9fb69b9..0000000 --- a/Shared/Models/Stateless/Methods/IStorage.cs +++ /dev/null @@ -1,14 +0,0 @@ -namespace View_by_Distance.Shared.Models.Stateless.Methods; - -public interface IStorage -{ - - // ... - - bool TestStatic_WriteAllText(string path, string contents, bool updateDateWhenMatches, bool compareBeforeWrite); - static bool WriteAllText(string path, string contents, bool updateDateWhenMatches, bool compareBeforeWrite) => Storage.WriteAllText(path, contents, updateDateWhenMatches, compareBeforeWrite); - - (string RootResultsDirectoryAbsoluteUri, string C_ResizeContentDirectory, string D_FacesContentDirectory, string E_DistanceCollectionDirectory) TestStatic_GetTuple(Properties.IStorage storage); - static (string RootResultsDirectoryAbsoluteUri, string C_ResizeContentDirectory, string D_FacesContentDirectory, string E_DistanceCollectionDirectory) GetTuple(Properties.IStorage storage) => new(new Uri(storage.RootResultsDirectory).AbsoluteUri, Path.Combine(storage.ResizeRootDirectory, "()"), Path.Combine(storage.FaceRootDirectory, "()"), Path.Combine(storage.DistanceResultRootDirectory, "[]")); - -} \ No newline at end of file diff --git a/Shared/Models/Stateless/Methods/PersonContainer.cs b/Shared/Models/Stateless/Methods/PersonContainer.cs index 15c8a30..94883e9 100644 --- a/Shared/Models/Stateless/Methods/PersonContainer.cs +++ b/Shared/Models/Stateless/Methods/PersonContainer.cs @@ -271,10 +271,9 @@ internal abstract class PersonContainer return results; } - internal static List GetPersonContainers(Properties.IStorage storage, string personBirthdayFormat, char[] personCharacters, string facesFileNameExtension) + internal static List GetPersonContainers(string a2PeopleSingletonDirectory, string personBirthdayFormat, char[] personCharacters, string facesFileNameExtension) { List results; - string a2PeopleSingletonDirectory = Path.Combine(storage.PeopleRootDirectory, "{}"); if (!Directory.Exists(a2PeopleSingletonDirectory)) _ = Directory.CreateDirectory(a2PeopleSingletonDirectory); string a2PeopleSingletonDirectoryChar; diff --git a/Shared/Models/Stateless/Methods/Storage.cs b/Shared/Models/Stateless/Methods/Storage.cs deleted file mode 100644 index 316c512..0000000 --- a/Shared/Models/Stateless/Methods/Storage.cs +++ /dev/null @@ -1,42 +0,0 @@ -namespace View_by_Distance.Shared.Models.Stateless.Methods; - -internal abstract class Storage -{ - - // ... - - internal static bool WriteAllText(string path, string contents, bool updateDateWhenMatches, bool compareBeforeWrite) - { - bool result; - string text; - if (!compareBeforeWrite) - result = true; - else - { - if (!File.Exists(path)) - text = string.Empty; - else - text = File.ReadAllText(path); - result = text != contents; - if (!result && updateDateWhenMatches) - File.SetLastWriteTime(path, DateTime.Now); - } - if (result) - { - if (path.Contains("()")) - File.WriteAllText(path, contents); - else if (path.Contains("{}") && !path.EndsWith(".json")) - File.WriteAllText(path, contents); - else if (path.Contains("[]") && !path.EndsWith(".json")) - File.WriteAllText(path, contents); - else if (path.Contains("{}") && path.EndsWith(".json") && contents[0] == '{') - File.WriteAllText(path, contents); - else if (path.Contains("[]") && path.EndsWith(".json") && contents[0] == '[') - File.WriteAllText(path, contents); - else - File.WriteAllText(path, contents); - } - return result; - } - -} \ No newline at end of file diff --git a/Shared/Models/Storage.cs b/Shared/Models/Storage.cs deleted file mode 100644 index 073f121..0000000 --- a/Shared/Models/Storage.cs +++ /dev/null @@ -1,79 +0,0 @@ -using System.Text.Json; -using System.Text.Json.Serialization; - -namespace View_by_Distance.Shared.Models; - -public class Storage : Properties.IStorage -{ - - protected string _DistanceResultRootDirectory; - protected string _FaceRootDirectory; - protected string _IndexInfoRootDirectory; - protected string _MetadataRootDirectory; - protected string _PeopleRootDirectory; - protected string _ResizeRootDirectory; - protected string _RootDirectory; - protected string _RootResultsDirectory; - protected string _UrlRoot; - public string DistanceResultRootDirectory => _DistanceResultRootDirectory; - public string FaceRootDirectory => _FaceRootDirectory; - public string IndexInfoRootDirectory => _IndexInfoRootDirectory; - public string MetadataRootDirectory => _MetadataRootDirectory; - public string PeopleRootDirectory => _PeopleRootDirectory; - public string ResizeRootDirectory => _ResizeRootDirectory; - public string RootDirectory => _RootDirectory; - public string RootResultsDirectory => _RootResultsDirectory; - public string UrlRoot => _UrlRoot; - - [JsonConstructor] - public Storage(string distanceResultRootDirectory, string faceRootDirectory, string indexInfoRootDirectory, string metadataRootDirectory, string peopleRootDirectory, string resizeRootDirectory, string rootDirectory, string rootResultsDirectory, string urlRoot) - { - _DistanceResultRootDirectory = distanceResultRootDirectory; - _FaceRootDirectory = faceRootDirectory; - _IndexInfoRootDirectory = indexInfoRootDirectory; - _MetadataRootDirectory = metadataRootDirectory; - _PeopleRootDirectory = peopleRootDirectory; - _ResizeRootDirectory = resizeRootDirectory; - _RootDirectory = rootDirectory; - _RootResultsDirectory = rootResultsDirectory; - _UrlRoot = urlRoot; - string fullRootResultsDirectory; - if (rootResultsDirectory.StartsWith(rootDirectory)) - fullRootResultsDirectory = rootResultsDirectory; - else - fullRootResultsDirectory = string.Concat(rootDirectory, rootResultsDirectory); - _RootResultsDirectory = fullRootResultsDirectory; - if (!distanceResultRootDirectory.StartsWith(rootDirectory)) - _DistanceResultRootDirectory = string.Concat(fullRootResultsDirectory, distanceResultRootDirectory); - if (!faceRootDirectory.StartsWith(rootDirectory)) - _FaceRootDirectory = string.Concat(fullRootResultsDirectory, faceRootDirectory); - if (!indexInfoRootDirectory.StartsWith(rootDirectory)) - _IndexInfoRootDirectory = string.Concat(fullRootResultsDirectory, indexInfoRootDirectory); - if (!metadataRootDirectory.StartsWith(rootDirectory)) - _MetadataRootDirectory = string.Concat(fullRootResultsDirectory, metadataRootDirectory); - if (!peopleRootDirectory.StartsWith(rootDirectory)) - _PeopleRootDirectory = string.Concat(fullRootResultsDirectory, peopleRootDirectory); - if (!resizeRootDirectory.StartsWith(rootDirectory)) - _ResizeRootDirectory = string.Concat(fullRootResultsDirectory, resizeRootDirectory); - } - - public Storage(string rootDirectory, string rootResultsDirectory, string peopleRootDirectory) - { - _DistanceResultRootDirectory = "distanceResultRootDirectory"; - _FaceRootDirectory = "faceRootDirectory"; - _IndexInfoRootDirectory = "indexInfoRootDirectory"; - _MetadataRootDirectory = "metadataRootDirectory"; - _PeopleRootDirectory = peopleRootDirectory; - _ResizeRootDirectory = "resizeRootDirectory"; - _RootDirectory = rootDirectory; - _RootResultsDirectory = rootResultsDirectory; - _UrlRoot = "urlRoot"; - } - - public override string ToString() - { - string result = JsonSerializer.Serialize(this, new JsonSerializerOptions() { WriteIndented = true }); - return result; - } // ... - -} \ No newline at end of file diff --git a/Tests/Tests.csproj b/Tests/Tests.csproj index c328c96..89e52af 100644 --- a/Tests/Tests.csproj +++ b/Tests/Tests.csproj @@ -2,7 +2,6 @@ enable false - 10.0 enable win-x64 net7.0 diff --git a/TestsWithFaceRecognitionDotNet/TestsWithFaceRecognitionDotNet.csproj b/TestsWithFaceRecognitionDotNet/TestsWithFaceRecognitionDotNet.csproj index 933f308..f3fce2e 100644 --- a/TestsWithFaceRecognitionDotNet/TestsWithFaceRecognitionDotNet.csproj +++ b/TestsWithFaceRecognitionDotNet/TestsWithFaceRecognitionDotNet.csproj @@ -2,7 +2,6 @@ enable false - 10.0 enable win-x64 net7.0 diff --git a/ThumbHash/ThumbHash.csproj b/ThumbHash/ThumbHash.csproj index 8debdf8..b80e884 100644 --- a/ThumbHash/ThumbHash.csproj +++ b/ThumbHash/ThumbHash.csproj @@ -1,7 +1,6 @@ enable - 10.0 enable library win-x64