From f62825d9aac5b839ce7cb055cc5dbb0a8103abc6 Mon Sep 17 00:00:00 2001 From: Mike Phares Date: Mon, 31 Jul 2023 12:09:53 -0700 Subject: [PATCH] kanbn --- ...down-to-genealogical-data-communication.md | 15 --- .kanbn/tasks/ged-as-golden.md | 15 --- .vscode/settings.json | 40 -------- .vscode/tasks.json | 12 ++- Map/Models/Stateless/MapLogic.cs | 58 ++++++----- .../.foam}/templates/daily-note.md | 0 .../.foam}/templates/new-kanbn.md | 0 {.foam => Shared/.foam}/templates/new-note.md | 0 .../.foam}/templates/new-topic.md | 0 {.kanbn => Shared/.kanbn}/board.html | 0 {.kanbn => Shared/.kanbn}/board.json | Bin {.kanbn => Shared/.kanbn}/board.md | Bin {.kanbn => Shared/.kanbn}/index.css | 0 {.kanbn => Shared/.kanbn}/index.md | 11 +- .../.kanbn}/tasks/cluster-questioning.md | 0 ...ainer-collection-is-needed-in-get-faces.md | 8 +- {.kanbn => Shared/.kanbn}/tasks/eof-error.md | 0 .../tasks/family-tree-as-markdown-files.md | 0 .../tasks/find-incorrectly-mapped-faces.md | 0 ...nealogical-data-communication-as-golden.md | 23 +++++ .../.kanbn}/tasks/google-timeline-for-geo.md | 0 ...-per-exif-model-directory-when-no-model.md | 0 .../tasks/import-face-region-metadata.md | 0 .../tasks/import-know-faces-into-db.md | 36 +++++-- .../look-for-family-from-jlink-in-z-mapped.md | 9 ++ .../.kanbn}/tasks/merge-kristy-files.md | 0 .../.kanbn}/tasks/nef-support.md | 0 .../photoview-in-docker-for-a-viewer-only.md | 0 .../rename-files-to-padded-number-string.md | 0 .../.kanbn}/tasks/run-scan-originals.md | 0 .../tasks/set-date-taken-when-missing.md | 0 .../setup-photo-prism-again-in-wsl-docker.md | 0 .../.kanbn}/tasks/setup-syncthing-server.md | 0 .../.kanbn}/tasks/shrink-percent.md | 0 ...skip-metadata-load-after-first-each-day.md | 0 .../tasks/use-eyes-to-find-orientation.md | 0 .../.kanbn}/tasks/use-photo-prism-to-map.md | 0 ...ing-for-one-half-of-sort-without-person.md | 9 ++ Shared/.vscode/settings.json | 95 +++++++++++++++++- 39 files changed, 206 insertions(+), 125 deletions(-) delete mode 100644 .kanbn/tasks/console-for-markdown-to-genealogical-data-communication.md delete mode 100644 .kanbn/tasks/ged-as-golden.md rename {.foam => Shared/.foam}/templates/daily-note.md (100%) rename {.foam => Shared/.foam}/templates/new-kanbn.md (100%) rename {.foam => Shared/.foam}/templates/new-note.md (100%) rename {.foam => Shared/.foam}/templates/new-topic.md (100%) rename {.kanbn => Shared/.kanbn}/board.html (100%) rename {.kanbn => Shared/.kanbn}/board.json (100%) rename {.kanbn => Shared/.kanbn}/board.md (100%) rename {.kanbn => Shared/.kanbn}/index.css (100%) rename {.kanbn => Shared/.kanbn}/index.md (84%) rename {.kanbn => Shared/.kanbn}/tasks/cluster-questioning.md (100%) rename {.kanbn => Shared/.kanbn}/tasks/determine-if-location-container-collection-is-needed-in-get-faces.md (74%) rename {.kanbn => Shared/.kanbn}/tasks/eof-error.md (100%) rename {.kanbn => Shared/.kanbn}/tasks/family-tree-as-markdown-files.md (100%) rename {.kanbn => Shared/.kanbn}/tasks/find-incorrectly-mapped-faces.md (100%) create mode 100644 Shared/.kanbn/tasks/genealogical-data-communication-as-golden.md rename {.kanbn => Shared/.kanbn}/tasks/google-timeline-for-geo.md (100%) rename {.kanbn => Shared/.kanbn}/tasks/image-size-distribution-per-exif-model-directory-when-no-model.md (100%) rename {.kanbn => Shared/.kanbn}/tasks/import-face-region-metadata.md (100%) rename {.kanbn => Shared/.kanbn}/tasks/import-know-faces-into-db.md (62%) create mode 100644 Shared/.kanbn/tasks/look-for-family-from-jlink-in-z-mapped.md rename {.kanbn => Shared/.kanbn}/tasks/merge-kristy-files.md (100%) rename {.kanbn => Shared/.kanbn}/tasks/nef-support.md (100%) rename {.kanbn => Shared/.kanbn}/tasks/photoview-in-docker-for-a-viewer-only.md (100%) rename {.kanbn => Shared/.kanbn}/tasks/rename-files-to-padded-number-string.md (100%) rename {.kanbn => Shared/.kanbn}/tasks/run-scan-originals.md (100%) rename {.kanbn => Shared/.kanbn}/tasks/set-date-taken-when-missing.md (100%) rename {.kanbn => Shared/.kanbn}/tasks/setup-photo-prism-again-in-wsl-docker.md (100%) rename {.kanbn => Shared/.kanbn}/tasks/setup-syncthing-server.md (100%) rename {.kanbn => Shared/.kanbn}/tasks/shrink-percent.md (100%) rename {.kanbn => Shared/.kanbn}/tasks/skip-metadata-load-after-first-each-day.md (100%) rename {.kanbn => Shared/.kanbn}/tasks/use-eyes-to-find-orientation.md (100%) rename {.kanbn => Shared/.kanbn}/tasks/use-photo-prism-to-map.md (100%) create mode 100644 Shared/.kanbn/tasks/verify-ignore-is-working-for-one-half-of-sort-without-person.md diff --git a/.kanbn/tasks/console-for-markdown-to-genealogical-data-communication.md b/.kanbn/tasks/console-for-markdown-to-genealogical-data-communication.md deleted file mode 100644 index 2f32b1e..0000000 --- a/.kanbn/tasks/console-for-markdown-to-genealogical-data-communication.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -created: "2023-07-21T18:26:38.894Z" -updated: "2023-07-30T04:45:55.208Z" -assigned: "" -progress: 0 -started: "2023-07-21T04:38:02.640Z" -type: "kanbn" ---- - -# Console for Markdown to Genealogical Data Communication - -- This will allow for more information about a person - -- [ ] Copy concept done in ~~~File-Folder-Helper~~~ use File-Folder-Helper -- [ ] Look at Id, Sex and body links (maybe use linkIndex.json) diff --git a/.kanbn/tasks/ged-as-golden.md b/.kanbn/tasks/ged-as-golden.md deleted file mode 100644 index bdd46ec..0000000 --- a/.kanbn/tasks/ged-as-golden.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -created: 2023-07-30T04:46:47.436Z -updated: 2023-07-30T04:46:47.431Z -assigned: "" -progress: 0 -tags: [] -started: 2023-07-30T04:46:47.436Z ---- - -# GED as Golden - -[ ] From directories create one *.pged file to compare -[x] From *.rmtree file export *.ged file -[ ] Read *.ged and write five files -[?] Create directories to compare with current \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json index 0a5f836..4656990 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -51,45 +51,5 @@ "extensions.ignoreRecommendations": true, "[markdown]": { "editor.wordWrap": "off" - }, - "foam.files.ignore": [ - ".foam/**/*", - ".stfolder/**/*", - ".UserSecrets/**/*", - "**/_layouts/**/*", - "**/_site/**/*", - "**/.vscode/**/*", - "**/node_modules/**/*" - ], - "kanbn.showBurndownButton": false, - "kanbn.showSprintButton": false, - "foam.links.hover.enable": false, - "foam.placeholders.exclude": [ - ".kanbn/Archive/**/*" - ], - "foam.orphans.exclude": [ - ".Applications/**/*", - ".DevOps/**/*", - ".Fab/**/*", - ".journal/**/*" - ], - "foam.graph.style": { - "background": "#202020", - "node": { - "topic": "#bc2a3c", - "kanbn": "#ff7b00", - "basic-note": "#773b93", - "daily-note": "#ff9d00", - "note": "#f2cb1d", - "placeholder": "#ff9d00", - "tag": "#0494c1", - "bug": "#bc2a3c", - "epic": "#ff7b00", - "feature": "#773b93", - "issue": "#ff9d00", - "task": "#f2cb1d", - "test-case": "#ff9d00", - "user-story": "#0494c1" - } } } \ No newline at end of file diff --git a/.vscode/tasks.json b/.vscode/tasks.json index d0e1772..05f222c 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -57,13 +57,19 @@ { "label": "File-Folder-Helper AOT s M Self .Kanbn Tasks", "type": "shell", - "command": "& L:/DevOps/Mesa_FI/File-Folder-Helper/bin/Release/net7.0/win-x64/publish/File-Folder-Helper.exe s M '.kanbn/tasks'", + "command": "& L:/DevOps/Mesa_FI/File-Folder-Helper/bin/Release/net7.0/win-x64/publish/File-Folder-Helper.exe s M .kanbn/tasks", "problemMatcher": [] }, { - "label": "File-Folder-Helper AOT s M Self .Kanbn Tasks", + "label": "File-Folder-Helper AOT s G 638263275367065735", "type": "shell", - "command": "& L:/DevOps/Mesa_FI/File-Folder-Helper/bin/Release/net7.0/win-x64/publish/File-Folder-Helper.exe s G D:/1-Images-A/Images-dd514b88-Results/A2) People/dd514b88/{} -g D:/1-Images-A/Images-dd514b88-Results/A2) People/dd514b88/([])/Code-638160743318283885/aaa/638160743318283885.ged -d D:/1-Images-A/Images-dd514b88-Results/A2) People/dd514b88/{2}", + "command": "& L:/DevOps/Mesa_FI/File-Folder-Helper/bin/Release/net7.0/win-x64/publish/File-Folder-Helper.exe s G 'D:/1-Images-A/Images-dd514b88-Results/A2) People/dd514b88/{}' -g 'D:/1-Images-A/Images-dd514b88-Results/A2) People/dd514b88/([])/File-Folder-Helper/638263275367065735/638263275367065735.ged' -d 'D:/1-Images-A/Images-dd514b88-Results/A2) People/dd514b88/{2}'", + "problemMatcher": [] + }, + { + "label": "File-Folder-Helper AOT s C Backup", + "type": "shell", + "command": "& L:/DevOps/Mesa_FI/File-Folder-Helper/bin/Release/net7.0/win-x64/publish/File-Folder-Helper.exe s C C:/1-Images-A/Images-dd514b88-Results-30/()", "problemMatcher": [] } ] diff --git a/Map/Models/Stateless/MapLogic.cs b/Map/Models/Stateless/MapLogic.cs index 065ec0a..a7c17f8 100644 --- a/Map/Models/Stateless/MapLogic.cs +++ b/Map/Models/Stateless/MapLogic.cs @@ -18,6 +18,11 @@ internal abstract class MapLogic bool IsDefault, string MappedFaceFile); + private record TicksDirectory(string Directory, + string DirectoryName, + long DirectoryTicks, + float? TotalDays); + private record PersonKeyFormattedIdThenWholePercentages(string PersonKeyFormatted, string[] PersonDisplayDirectoryNames, bool IsDefault, @@ -70,11 +75,11 @@ internal abstract class MapLogic } } - private static void MoveTo(string actionDirectory, string ticksDirectory, string directory, string personKeyFormatted, string yearDirectoryName, string alphaDirectoryName, string[] files, string[] facesFileNames) + private static void MoveTo(string actionDirectory, TicksDirectory ticksDirectory, string directory, string personKeyFormatted, string yearDirectoryName, string alphaDirectoryName, string[] files, string[] facesFileNames) { string checkFile; string actionDirectoryName = Path.GetFileName(actionDirectory); - string checkDirectory = actionDirectoryName.StartsWith("y", StringComparison.CurrentCultureIgnoreCase) ? Path.Combine(ticksDirectory, personKeyFormatted, yearDirectoryName, alphaDirectoryName) : Path.Combine(directory, actionDirectoryName); + string checkDirectory = actionDirectoryName.StartsWith("y", StringComparison.CurrentCultureIgnoreCase) ? Path.Combine(ticksDirectory.Directory, personKeyFormatted, yearDirectoryName, alphaDirectoryName) : Path.Combine(directory, actionDirectoryName); if (!Directory.Exists(checkDirectory)) _ = Directory.CreateDirectory(checkDirectory); foreach (string file in files) @@ -91,7 +96,7 @@ internal abstract class MapLogic } } - private static void Individually(Configuration configuration, string ticksDirectory, string directory) + private static void Individually(Configuration configuration, TicksDirectory ticksDirectory, string directory) { bool isDefault; string[] files; @@ -196,9 +201,9 @@ internal abstract class MapLogic } } - private static void MovedToNewestPersonKeyFormatted(string personKeyFormatted, string newestPersonKeyFormatted, string ticksDirectory, string personKeyDirectory) + private static void MovedToNewestPersonKeyFormatted(string personKeyFormatted, string newestPersonKeyFormatted, TicksDirectory ticksDirectory, string personKeyDirectory) { - string newestPersonKeyDirectory = Path.Combine(ticksDirectory, newestPersonKeyFormatted); + string newestPersonKeyDirectory = Path.Combine(ticksDirectory.Directory, newestPersonKeyFormatted); if (Directory.Exists(newestPersonKeyDirectory)) MoveFiles(personKeyFormatted, personKeyDirectory, newestPersonKeyFormatted, newestPersonKeyDirectory); else @@ -215,11 +220,10 @@ internal abstract class MapLogic } } - private static List DeleteEmptyDirectoriesAndGetCollection(Configuration configuration, Dictionary personKeyFormattedToNewestPersonKeyFormatted, List personKeyFormattedCollection, string[] ticksDirectories, string message) + private static List DeleteEmptyDirectoriesAndGetCollection(Configuration configuration, Dictionary personKeyFormattedToNewestPersonKeyFormatted, List personKeyFormattedCollection, List ticksDirectories, string message) { List results = new(); int? id; - long ticks; bool isDefault; string[] files; string fileName; @@ -230,7 +234,6 @@ internal abstract class MapLogic string checkDirectory; string[] yearDirectories; string personKeyFormatted; - string ticksDirectoryName; string? personFirstInitial; bool isReservedDirectoryName; List distinct = new(); @@ -243,16 +246,11 @@ internal abstract class MapLogic string manualCopyHumanized = nameof(Shared.Models.Stateless.IMapLogic.ManualCopy).Humanize(LetterCasing.Title); string forceSingleImageHumanized = nameof(Shared.Models.Stateless.IMapLogic.ForceSingleImage).Humanize(LetterCasing.Title); ProgressBarOptions options = new() { ProgressCharacter = '─', ProgressBarOnBottom = true, DisableBottomPercentage = true }; - using ProgressBar progressBar = new(ticksDirectories.Length, message, options); - foreach (string ticksDirectory in ticksDirectories) + using ProgressBar progressBar = new(ticksDirectories.Count, message, options); + foreach (TicksDirectory ticksDirectory in ticksDirectories) { progressBar.Tick(); - ticksDirectoryName = Path.GetFileName(ticksDirectory); - if (ticksDirectoryName.Length < 3 || ticksDirectoryName.First() != '(' || ticksDirectoryName[^1] != ')') - continue; - if (!long.TryParse(ticksDirectoryName[1..^1], out ticks)) - continue; - personKeyDirectories = Directory.GetDirectories(ticksDirectory, "*", SearchOption.TopDirectoryOnly); + personKeyDirectories = Directory.GetDirectories(ticksDirectory.Directory, "*", SearchOption.TopDirectoryOnly); foreach (string personKeyDirectory in personKeyDirectories) { personKeyFormatted = Path.GetFileName(personKeyDirectory); @@ -265,7 +263,7 @@ internal abstract class MapLogic _ = personKeyFormattedToNewestPersonKeyFormatted.TryGetValue(personKeyFormatted, out newestPersonKeyFormatted); if (personKeyFormattedToNewestPersonKeyFormatted.Count > 0 && newestPersonKeyFormatted is null) { - timeSpan = new TimeSpan(DateTime.Now.Ticks - ticks); + timeSpan = new TimeSpan(DateTime.Now.Ticks - ticksDirectory.DirectoryTicks); if (timeSpan.TotalDays > 3) throw new Exception($"{configuration.MappingDefaultName} are only allowed within x days!"); } @@ -375,8 +373,8 @@ internal abstract class MapLogic } _ = IPath.DeleteEmptyDirectories(personKeyDirectory); } - _ = IPath.DeleteEmptyDirectories(ticksDirectory); - _ = IPath.DeleteEmptyDirectories(ticksDirectory); + _ = IPath.DeleteEmptyDirectories(ticksDirectory.Directory); + _ = IPath.DeleteEmptyDirectories(ticksDirectory.Directory); } if (check) throw new Exception("PersonKey director(ies) where renamed. Please restart!"); @@ -676,19 +674,19 @@ internal abstract class MapLogic } } - private static string[] UpdateDateVerifyAndGetTicksDirectories(string eDistanceContentDirectory) + private static List UpdateDateVerifyAndGetTicksDirectories(string eDistanceContentDirectory) { - const int zero = 0; + List results = new(); + float? totalDays; string ticksDirectoryName; DirectoryInfo directoryInfo; long? lastDirectoryTicks = null; DateTime dateTime = DateTime.Now; - List<(string Directory, TimeSpan TimeSpan)> collection = new(); - string[] results = Directory.GetDirectories(eDistanceContentDirectory, "*", SearchOption.TopDirectoryOnly); - foreach (string ticksDirectory in results) + string[] ticksDirectories = Directory.GetDirectories(eDistanceContentDirectory, "*", SearchOption.TopDirectoryOnly); + foreach (string ticksDirectory in ticksDirectories) { ticksDirectoryName = Path.GetFileName(ticksDirectory); - if (ticksDirectoryName.Length < 3 || ticksDirectoryName[zero] != '(' || ticksDirectoryName[^1] != ')') + if (ticksDirectoryName.Length < 3 || ticksDirectoryName.First() != '(' || ticksDirectoryName[^1] != ')') continue; if (!long.TryParse(ticksDirectoryName[1..^1], out long directoryTicks)) { @@ -700,11 +698,11 @@ internal abstract class MapLogic Directory.SetCreationTime(ticksDirectory, new DateTime(directoryTicks)); if (directoryInfo.LastWriteTime.Ticks != directoryTicks) Directory.SetLastWriteTime(ticksDirectory, new DateTime(directoryTicks)); - if (lastDirectoryTicks is not null && new TimeSpan(dateTime.Ticks - directoryTicks).TotalDays > 1) - collection.Add((ticksDirectory, new TimeSpan(directoryTicks - lastDirectoryTicks.Value))); + totalDays = lastDirectoryTicks is null || new TimeSpan(dateTime.Ticks - directoryTicks).TotalDays < 1 ? null : (float)new TimeSpan(directoryTicks - lastDirectoryTicks.Value).TotalDays; + results.Add(new(ticksDirectory, ticksDirectoryName, directoryTicks, totalDays)); lastDirectoryTicks = directoryTicks; } - string[] compare = (from l in collection where l.TimeSpan.TotalDays < 3.95 select l.Directory).ToArray(); + string[] compare = (from l in results where l.TotalDays is not null and < 3.95f select l.Directory).ToArray(); if (compare.Any()) throw new Exception($"Please Consolidate <{string.Join(Environment.NewLine, compare)}>"); return results; @@ -895,12 +893,12 @@ internal abstract class MapLogic Dictionary personKeyFormattedToNewestPersonKeyFormatted = new(); Dictionary personKeyFormattedToPersonContainer = new(); Dictionary> personKeyToPersonContainerCollection = new(); - string[] ticksDirectories = UpdateDateVerifyAndGetTicksDirectories(eDistanceContentDirectory); + List ticksDirectories = UpdateDateVerifyAndGetTicksDirectories(eDistanceContentDirectory); List personKeyFormattedIdThenWholePercentagesCollection = new(); List<(PersonKeyFormattedIdThenWholePercentages, PersonContainer)> possiblyNewPersonDisplayDirectoryNamesAndPersonContainer = new(); SetPersonCollections(configuration, personContainers, a2PeopleSingletonDirectory, personKeyFormattedToNewestPersonKeyFormatted, personKeyFormattedCollection, skipCollection, skipNotSkipCollection); totalSeconds = (int)Math.Floor(new TimeSpan(DateTime.Now.Ticks - ticks).TotalSeconds); - message = $") {ticksDirectories.Length:000} compile from and clean ticks Director(ies) - B - {totalSeconds} total second(s)"; + message = $") {ticksDirectories.Count:000} compile from and clean ticks Director(ies) - B - {totalSeconds} total second(s)"; List records = DeleteEmptyDirectoriesAndGetCollection(configuration, personKeyFormattedToNewestPersonKeyFormatted, personKeyFormattedCollection, ticksDirectories, message); locationContainers.AddRange(GetLocationContainers(maxDegreeOfParallelism, configuration, ticks, personContainers, eDistanceContentDirectory, records)); int unableToMatchCount = SetCollectionsAndGetUnableToConvertCount(configuration, ticks, personKeyFormattedIdThenWholePercentagesCollection, records); diff --git a/.foam/templates/daily-note.md b/Shared/.foam/templates/daily-note.md similarity index 100% rename from .foam/templates/daily-note.md rename to Shared/.foam/templates/daily-note.md diff --git a/.foam/templates/new-kanbn.md b/Shared/.foam/templates/new-kanbn.md similarity index 100% rename from .foam/templates/new-kanbn.md rename to Shared/.foam/templates/new-kanbn.md diff --git a/.foam/templates/new-note.md b/Shared/.foam/templates/new-note.md similarity index 100% rename from .foam/templates/new-note.md rename to Shared/.foam/templates/new-note.md diff --git a/.foam/templates/new-topic.md b/Shared/.foam/templates/new-topic.md similarity index 100% rename from .foam/templates/new-topic.md rename to Shared/.foam/templates/new-topic.md diff --git a/.kanbn/board.html b/Shared/.kanbn/board.html similarity index 100% rename from .kanbn/board.html rename to Shared/.kanbn/board.html diff --git a/.kanbn/board.json b/Shared/.kanbn/board.json similarity index 100% rename from .kanbn/board.json rename to Shared/.kanbn/board.json diff --git a/.kanbn/board.md b/Shared/.kanbn/board.md similarity index 100% rename from .kanbn/board.md rename to Shared/.kanbn/board.md diff --git a/.kanbn/index.css b/Shared/.kanbn/index.css similarity index 100% rename from .kanbn/index.css rename to Shared/.kanbn/index.css diff --git a/.kanbn/index.md b/Shared/.kanbn/index.md similarity index 84% rename from .kanbn/index.md rename to Shared/.kanbn/index.md index 0660f64..351a84c 100644 --- a/.kanbn/index.md +++ b/Shared/.kanbn/index.md @@ -10,7 +10,7 @@ dateFormat: mm/dd taskTemplate: '^+^_${overdue ? ''^R'' : ''''}${name}^: ${relations ? (''\n^-^/^g'' + relations.reduce((accumulator, currentValue) => accumulator.task + currentValue.task + '' '', '''')) : ''''}' --- -# View-by-Distance +# View-by-Distance-Shared ## Backlog @@ -20,14 +20,15 @@ taskTemplate: '^+^_${overdue ? ''^R'' : ''''}${name}^: ${relations ? (''\n^-^/^g - [setup-syncthing-server](tasks/setup-syncthing-server.md) - [photoview-in-docker-for-a-viewer-only](tasks/photoview-in-docker-for-a-viewer-only.md) - [image-size-distribution-per-exif-model-directory-when-no-model](tasks/image-size-distribution-per-exif-model-directory-when-no-model.md) +- [import-know-faces-into-db](tasks/import-know-faces-into-db.md) - [skip-metadata-load-after-first-each-day](tasks/skip-metadata-load-after-first-each-day.md) +- [determine-if-location-container-collection-is-needed-in-get-faces](tasks/determine-if-location-container-collection-is-needed-in-get-faces.md) - [cluster-questioning](tasks/cluster-questioning.md) -- [console-for-markdown-to-genealogical-data-communication](tasks/console-for-markdown-to-genealogical-data-communication.md) ## Todo -- [determine-if-location-container-collection-is-needed-in-get-faces](tasks/determine-if-location-container-collection-is-needed-in-get-faces.md) -- [import-know-faces-into-db](tasks/import-know-faces-into-db.md) +- [look-for-family-from-jlink-in-z-mapped](tasks/look-for-family-from-jlink-in-z-mapped.md) +- [verify-ignore-is-working-for-one-half-of-sort-without-person](tasks/verify-ignore-is-working-for-one-half-of-sort-without-person.md) - [use-eyes-to-find-orientation](tasks/use-eyes-to-find-orientation.md) - [find-incorrectly-mapped-faces](tasks/find-incorrectly-mapped-faces.md) - [nef-support](tasks/nef-support.md) @@ -36,7 +37,7 @@ taskTemplate: '^+^_${overdue ? ''^R'' : ''''}${name}^: ${relations ? (''\n^-^/^g - [merge-kristy-files](tasks/merge-kristy-files.md) - [set-date-taken-when-missing](tasks/set-date-taken-when-missing.md) -- [ged-as-golden](tasks/ged-as-golden.md) +- [genealogical-data-communication-as-golden](tasks/genealogical-data-communication-as-golden.md) ## Done diff --git a/.kanbn/tasks/cluster-questioning.md b/Shared/.kanbn/tasks/cluster-questioning.md similarity index 100% rename from .kanbn/tasks/cluster-questioning.md rename to Shared/.kanbn/tasks/cluster-questioning.md diff --git a/.kanbn/tasks/determine-if-location-container-collection-is-needed-in-get-faces.md b/Shared/.kanbn/tasks/determine-if-location-container-collection-is-needed-in-get-faces.md similarity index 74% rename from .kanbn/tasks/determine-if-location-container-collection-is-needed-in-get-faces.md rename to Shared/.kanbn/tasks/determine-if-location-container-collection-is-needed-in-get-faces.md index 85f2620..9f62dd7 100644 --- a/.kanbn/tasks/determine-if-location-container-collection-is-needed-in-get-faces.md +++ b/Shared/.kanbn/tasks/determine-if-location-container-collection-is-needed-in-get-faces.md @@ -1,10 +1,10 @@ --- -created: "2023-07-21T18:26:38.896Z" -updated: "2023-07-21T18:26:38.896Z" +created: 2023-07-21T18:26:38.896Z +updated: 2023-07-31T19:09:19.529Z assigned: "" progress: 0 -status: "2-Todo" -type: "kanbn" +status: 2-Todo +type: kanbn --- # Determine if Location Container Collection Is Needed in Get Faces diff --git a/.kanbn/tasks/eof-error.md b/Shared/.kanbn/tasks/eof-error.md similarity index 100% rename from .kanbn/tasks/eof-error.md rename to Shared/.kanbn/tasks/eof-error.md diff --git a/.kanbn/tasks/family-tree-as-markdown-files.md b/Shared/.kanbn/tasks/family-tree-as-markdown-files.md similarity index 100% rename from .kanbn/tasks/family-tree-as-markdown-files.md rename to Shared/.kanbn/tasks/family-tree-as-markdown-files.md diff --git a/.kanbn/tasks/find-incorrectly-mapped-faces.md b/Shared/.kanbn/tasks/find-incorrectly-mapped-faces.md similarity index 100% rename from .kanbn/tasks/find-incorrectly-mapped-faces.md rename to Shared/.kanbn/tasks/find-incorrectly-mapped-faces.md diff --git a/Shared/.kanbn/tasks/genealogical-data-communication-as-golden.md b/Shared/.kanbn/tasks/genealogical-data-communication-as-golden.md new file mode 100644 index 0000000..1c82c16 --- /dev/null +++ b/Shared/.kanbn/tasks/genealogical-data-communication-as-golden.md @@ -0,0 +1,23 @@ +--- +created: 2023-07-30T04:46:47.436Z +updated: 2023-07-30T04:46:47.431Z +assigned: "" +progress: 0 +tags: [] +started: 2023-07-30T04:46:47.436Z +--- + +# Genealogical Data Communication as Golden + +[ ] From directories create one *.pged file to compare +[x] From *.rmtree file export *.ged file +[ ] Read *.ged and write five files +[?] Create directories to compare with current +[ ] Make File-Folder-Helper work without a directory + +## Console for Markdown to Genealogical Data Communication + +- This will allow for more information about a person + +- [ ] Copy concept done in ~~~File-Folder-Helper~~~ use File-Folder-Helper +- [ ] Look at Id, Sex and body links (maybe use linkIndex.json) \ No newline at end of file diff --git a/.kanbn/tasks/google-timeline-for-geo.md b/Shared/.kanbn/tasks/google-timeline-for-geo.md similarity index 100% rename from .kanbn/tasks/google-timeline-for-geo.md rename to Shared/.kanbn/tasks/google-timeline-for-geo.md diff --git a/.kanbn/tasks/image-size-distribution-per-exif-model-directory-when-no-model.md b/Shared/.kanbn/tasks/image-size-distribution-per-exif-model-directory-when-no-model.md similarity index 100% rename from .kanbn/tasks/image-size-distribution-per-exif-model-directory-when-no-model.md rename to Shared/.kanbn/tasks/image-size-distribution-per-exif-model-directory-when-no-model.md diff --git a/.kanbn/tasks/import-face-region-metadata.md b/Shared/.kanbn/tasks/import-face-region-metadata.md similarity index 100% rename from .kanbn/tasks/import-face-region-metadata.md rename to Shared/.kanbn/tasks/import-face-region-metadata.md diff --git a/.kanbn/tasks/import-know-faces-into-db.md b/Shared/.kanbn/tasks/import-know-faces-into-db.md similarity index 62% rename from .kanbn/tasks/import-know-faces-into-db.md rename to Shared/.kanbn/tasks/import-know-faces-into-db.md index 79f4db0..f952a9a 100644 --- a/.kanbn/tasks/import-know-faces-into-db.md +++ b/Shared/.kanbn/tasks/import-know-faces-into-db.md @@ -1,22 +1,38 @@ --- -created: "2023-07-21T18:26:38.908Z" -updated: "2023-07-21T18:26:38.909Z" +created: 2023-07-21T18:26:38.908Z +updated: 2023-07-31T19:09:25.585Z assigned: "" progress: 0 -status: "2-Todo" -type: "kanbn" +status: 2-Todo +type: kanbn --- # Import Know Faces Into Db ```bash -# locating data volumes in docker desktop windows -# https://stackoverflow.com/questions/43181654/locating-data-volumes-in-docker-desktop-windows -# phpmyadmin mariadb docker compose -# https://david.dev/how-to-install-mariadb-phpmyadmin-with-docker-compose -# https://docs.photoprism.app/user-guide/backups/ + + + + + + + + + + + + + + + + + + + docker compose exec photoprism photoprism backup -i -f -# https://docs.photoprism.app/user-guide/backups/restore/ + + + docker compose exec photoprism photoprism restore -i -f ``` diff --git a/Shared/.kanbn/tasks/look-for-family-from-jlink-in-z-mapped.md b/Shared/.kanbn/tasks/look-for-family-from-jlink-in-z-mapped.md new file mode 100644 index 0000000..e408c0a --- /dev/null +++ b/Shared/.kanbn/tasks/look-for-family-from-jlink-in-z-mapped.md @@ -0,0 +1,9 @@ +--- +created: 2023-07-31T19:08:57.684Z +updated: 2023-07-31T19:09:07.842Z +assigned: "" +progress: 0 +tags: [] +--- + +# Look for family from jlink in Z] mapped diff --git a/.kanbn/tasks/merge-kristy-files.md b/Shared/.kanbn/tasks/merge-kristy-files.md similarity index 100% rename from .kanbn/tasks/merge-kristy-files.md rename to Shared/.kanbn/tasks/merge-kristy-files.md diff --git a/.kanbn/tasks/nef-support.md b/Shared/.kanbn/tasks/nef-support.md similarity index 100% rename from .kanbn/tasks/nef-support.md rename to Shared/.kanbn/tasks/nef-support.md diff --git a/.kanbn/tasks/photoview-in-docker-for-a-viewer-only.md b/Shared/.kanbn/tasks/photoview-in-docker-for-a-viewer-only.md similarity index 100% rename from .kanbn/tasks/photoview-in-docker-for-a-viewer-only.md rename to Shared/.kanbn/tasks/photoview-in-docker-for-a-viewer-only.md diff --git a/.kanbn/tasks/rename-files-to-padded-number-string.md b/Shared/.kanbn/tasks/rename-files-to-padded-number-string.md similarity index 100% rename from .kanbn/tasks/rename-files-to-padded-number-string.md rename to Shared/.kanbn/tasks/rename-files-to-padded-number-string.md diff --git a/.kanbn/tasks/run-scan-originals.md b/Shared/.kanbn/tasks/run-scan-originals.md similarity index 100% rename from .kanbn/tasks/run-scan-originals.md rename to Shared/.kanbn/tasks/run-scan-originals.md diff --git a/.kanbn/tasks/set-date-taken-when-missing.md b/Shared/.kanbn/tasks/set-date-taken-when-missing.md similarity index 100% rename from .kanbn/tasks/set-date-taken-when-missing.md rename to Shared/.kanbn/tasks/set-date-taken-when-missing.md diff --git a/.kanbn/tasks/setup-photo-prism-again-in-wsl-docker.md b/Shared/.kanbn/tasks/setup-photo-prism-again-in-wsl-docker.md similarity index 100% rename from .kanbn/tasks/setup-photo-prism-again-in-wsl-docker.md rename to Shared/.kanbn/tasks/setup-photo-prism-again-in-wsl-docker.md diff --git a/.kanbn/tasks/setup-syncthing-server.md b/Shared/.kanbn/tasks/setup-syncthing-server.md similarity index 100% rename from .kanbn/tasks/setup-syncthing-server.md rename to Shared/.kanbn/tasks/setup-syncthing-server.md diff --git a/.kanbn/tasks/shrink-percent.md b/Shared/.kanbn/tasks/shrink-percent.md similarity index 100% rename from .kanbn/tasks/shrink-percent.md rename to Shared/.kanbn/tasks/shrink-percent.md diff --git a/.kanbn/tasks/skip-metadata-load-after-first-each-day.md b/Shared/.kanbn/tasks/skip-metadata-load-after-first-each-day.md similarity index 100% rename from .kanbn/tasks/skip-metadata-load-after-first-each-day.md rename to Shared/.kanbn/tasks/skip-metadata-load-after-first-each-day.md diff --git a/.kanbn/tasks/use-eyes-to-find-orientation.md b/Shared/.kanbn/tasks/use-eyes-to-find-orientation.md similarity index 100% rename from .kanbn/tasks/use-eyes-to-find-orientation.md rename to Shared/.kanbn/tasks/use-eyes-to-find-orientation.md diff --git a/.kanbn/tasks/use-photo-prism-to-map.md b/Shared/.kanbn/tasks/use-photo-prism-to-map.md similarity index 100% rename from .kanbn/tasks/use-photo-prism-to-map.md rename to Shared/.kanbn/tasks/use-photo-prism-to-map.md diff --git a/Shared/.kanbn/tasks/verify-ignore-is-working-for-one-half-of-sort-without-person.md b/Shared/.kanbn/tasks/verify-ignore-is-working-for-one-half-of-sort-without-person.md new file mode 100644 index 0000000..a66ecd4 --- /dev/null +++ b/Shared/.kanbn/tasks/verify-ignore-is-working-for-one-half-of-sort-without-person.md @@ -0,0 +1,9 @@ +--- +created: 2023-07-31T18:54:50.692Z +updated: 2023-07-31T19:09:12.889Z +assigned: "" +progress: 0 +tags: [] +--- + +# Verify Ignore Is Working For One Half of Sort Without Person diff --git a/Shared/.vscode/settings.json b/Shared/.vscode/settings.json index c6871b6..0a5f836 100644 --- a/Shared/.vscode/settings.json +++ b/Shared/.vscode/settings.json @@ -1,6 +1,95 @@ { "cSpell.words": [ - "Permyriad", - "Phares" - ] + "appsettings", + "Argb", + "ASPNETCORE", + "Barrick", + "bcdfghjklmnpqrstvwxyz", + "Bday", + "Beichler", + "Bohdi", + "Cobertura", + "cref", + "CUDA", + "Dlib", + "DSCN", + "Exif", + "Getα", + "Greyscale", + "Hasher", + "jfif", + "JOSN", + "mmod", + "Nicéphore", + "Niépce", + "nosj", + "paramref", + "permille", + "permyriad", + "Phares", + "Phgtv", + "RDHC", + "Rects", + "resnet", + "Serilog", + "Subfile", + "Subfiles", + "Syncthing", + "Unmanaged", + "Upsample", + "Vericruz" + ], + "files.watcherExclude": { + "**/node_modules": true + }, + "cSpell.enabled": true, + "files.exclude": { + "**/.git": false, + "**/node_modules": true + }, + "coverage-gutters.coverageBaseDir": "./.vscode/ReportGenerator/Cobertura/*", + "extensions.ignoreRecommendations": true, + "[markdown]": { + "editor.wordWrap": "off" + }, + "foam.files.ignore": [ + ".foam/**/*", + ".stfolder/**/*", + ".UserSecrets/**/*", + "**/_layouts/**/*", + "**/_site/**/*", + "**/.vscode/**/*", + "**/node_modules/**/*" + ], + "kanbn.showBurndownButton": false, + "kanbn.showSprintButton": false, + "foam.links.hover.enable": false, + "foam.placeholders.exclude": [ + ".kanbn/Archive/**/*" + ], + "foam.orphans.exclude": [ + ".Applications/**/*", + ".DevOps/**/*", + ".Fab/**/*", + ".journal/**/*" + ], + "foam.graph.style": { + "background": "#202020", + "node": { + "topic": "#bc2a3c", + "kanbn": "#ff7b00", + "basic-note": "#773b93", + "daily-note": "#ff9d00", + "note": "#f2cb1d", + "placeholder": "#ff9d00", + "tag": "#0494c1", + "bug": "#bc2a3c", + "epic": "#ff7b00", + "feature": "#773b93", + "issue": "#ff9d00", + "task": "#f2cb1d", + "test-case": "#ff9d00", + "user-story": "#0494c1" + } + } } \ No newline at end of file