kanbn
This commit is contained in:
parent
c06435abf9
commit
f62825d9aa
@ -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)
|
|
@ -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
|
|
40
.vscode/settings.json
vendored
40
.vscode/settings.json
vendored
@ -51,45 +51,5 @@
|
|||||||
"extensions.ignoreRecommendations": true,
|
"extensions.ignoreRecommendations": true,
|
||||||
"[markdown]": {
|
"[markdown]": {
|
||||||
"editor.wordWrap": "off"
|
"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"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
12
.vscode/tasks.json
vendored
12
.vscode/tasks.json
vendored
@ -57,13 +57,19 @@
|
|||||||
{
|
{
|
||||||
"label": "File-Folder-Helper AOT s M Self .Kanbn Tasks",
|
"label": "File-Folder-Helper AOT s M Self .Kanbn Tasks",
|
||||||
"type": "shell",
|
"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": []
|
"problemMatcher": []
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"label": "File-Folder-Helper AOT s M Self .Kanbn Tasks",
|
"label": "File-Folder-Helper AOT s G 638263275367065735",
|
||||||
"type": "shell",
|
"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": []
|
"problemMatcher": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
@ -18,6 +18,11 @@ internal abstract class MapLogic
|
|||||||
bool IsDefault,
|
bool IsDefault,
|
||||||
string MappedFaceFile);
|
string MappedFaceFile);
|
||||||
|
|
||||||
|
private record TicksDirectory(string Directory,
|
||||||
|
string DirectoryName,
|
||||||
|
long DirectoryTicks,
|
||||||
|
float? TotalDays);
|
||||||
|
|
||||||
private record PersonKeyFormattedIdThenWholePercentages(string PersonKeyFormatted,
|
private record PersonKeyFormattedIdThenWholePercentages(string PersonKeyFormatted,
|
||||||
string[] PersonDisplayDirectoryNames,
|
string[] PersonDisplayDirectoryNames,
|
||||||
bool IsDefault,
|
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 checkFile;
|
||||||
string actionDirectoryName = Path.GetFileName(actionDirectory);
|
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))
|
if (!Directory.Exists(checkDirectory))
|
||||||
_ = Directory.CreateDirectory(checkDirectory);
|
_ = Directory.CreateDirectory(checkDirectory);
|
||||||
foreach (string file in files)
|
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;
|
bool isDefault;
|
||||||
string[] files;
|
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))
|
if (Directory.Exists(newestPersonKeyDirectory))
|
||||||
MoveFiles(personKeyFormatted, personKeyDirectory, newestPersonKeyFormatted, newestPersonKeyDirectory);
|
MoveFiles(personKeyFormatted, personKeyDirectory, newestPersonKeyFormatted, newestPersonKeyDirectory);
|
||||||
else
|
else
|
||||||
@ -215,11 +220,10 @@ internal abstract class MapLogic
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static List<Record> DeleteEmptyDirectoriesAndGetCollection(Configuration configuration, Dictionary<string, string> personKeyFormattedToNewestPersonKeyFormatted, List<string> personKeyFormattedCollection, string[] ticksDirectories, string message)
|
private static List<Record> DeleteEmptyDirectoriesAndGetCollection(Configuration configuration, Dictionary<string, string> personKeyFormattedToNewestPersonKeyFormatted, List<string> personKeyFormattedCollection, List<TicksDirectory> ticksDirectories, string message)
|
||||||
{
|
{
|
||||||
List<Record> results = new();
|
List<Record> results = new();
|
||||||
int? id;
|
int? id;
|
||||||
long ticks;
|
|
||||||
bool isDefault;
|
bool isDefault;
|
||||||
string[] files;
|
string[] files;
|
||||||
string fileName;
|
string fileName;
|
||||||
@ -230,7 +234,6 @@ internal abstract class MapLogic
|
|||||||
string checkDirectory;
|
string checkDirectory;
|
||||||
string[] yearDirectories;
|
string[] yearDirectories;
|
||||||
string personKeyFormatted;
|
string personKeyFormatted;
|
||||||
string ticksDirectoryName;
|
|
||||||
string? personFirstInitial;
|
string? personFirstInitial;
|
||||||
bool isReservedDirectoryName;
|
bool isReservedDirectoryName;
|
||||||
List<string> distinct = new();
|
List<string> distinct = new();
|
||||||
@ -243,16 +246,11 @@ internal abstract class MapLogic
|
|||||||
string manualCopyHumanized = nameof(Shared.Models.Stateless.IMapLogic.ManualCopy).Humanize(LetterCasing.Title);
|
string manualCopyHumanized = nameof(Shared.Models.Stateless.IMapLogic.ManualCopy).Humanize(LetterCasing.Title);
|
||||||
string forceSingleImageHumanized = nameof(Shared.Models.Stateless.IMapLogic.ForceSingleImage).Humanize(LetterCasing.Title);
|
string forceSingleImageHumanized = nameof(Shared.Models.Stateless.IMapLogic.ForceSingleImage).Humanize(LetterCasing.Title);
|
||||||
ProgressBarOptions options = new() { ProgressCharacter = '─', ProgressBarOnBottom = true, DisableBottomPercentage = true };
|
ProgressBarOptions options = new() { ProgressCharacter = '─', ProgressBarOnBottom = true, DisableBottomPercentage = true };
|
||||||
using ProgressBar progressBar = new(ticksDirectories.Length, message, options);
|
using ProgressBar progressBar = new(ticksDirectories.Count, message, options);
|
||||||
foreach (string ticksDirectory in ticksDirectories)
|
foreach (TicksDirectory ticksDirectory in ticksDirectories)
|
||||||
{
|
{
|
||||||
progressBar.Tick();
|
progressBar.Tick();
|
||||||
ticksDirectoryName = Path.GetFileName(ticksDirectory);
|
personKeyDirectories = Directory.GetDirectories(ticksDirectory.Directory, "*", SearchOption.TopDirectoryOnly);
|
||||||
if (ticksDirectoryName.Length < 3 || ticksDirectoryName.First() != '(' || ticksDirectoryName[^1] != ')')
|
|
||||||
continue;
|
|
||||||
if (!long.TryParse(ticksDirectoryName[1..^1], out ticks))
|
|
||||||
continue;
|
|
||||||
personKeyDirectories = Directory.GetDirectories(ticksDirectory, "*", SearchOption.TopDirectoryOnly);
|
|
||||||
foreach (string personKeyDirectory in personKeyDirectories)
|
foreach (string personKeyDirectory in personKeyDirectories)
|
||||||
{
|
{
|
||||||
personKeyFormatted = Path.GetFileName(personKeyDirectory);
|
personKeyFormatted = Path.GetFileName(personKeyDirectory);
|
||||||
@ -265,7 +263,7 @@ internal abstract class MapLogic
|
|||||||
_ = personKeyFormattedToNewestPersonKeyFormatted.TryGetValue(personKeyFormatted, out newestPersonKeyFormatted);
|
_ = personKeyFormattedToNewestPersonKeyFormatted.TryGetValue(personKeyFormatted, out newestPersonKeyFormatted);
|
||||||
if (personKeyFormattedToNewestPersonKeyFormatted.Count > 0 && newestPersonKeyFormatted is null)
|
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)
|
if (timeSpan.TotalDays > 3)
|
||||||
throw new Exception($"{configuration.MappingDefaultName} are only allowed within x days!");
|
throw new Exception($"{configuration.MappingDefaultName} are only allowed within x days!");
|
||||||
}
|
}
|
||||||
@ -375,8 +373,8 @@ internal abstract class MapLogic
|
|||||||
}
|
}
|
||||||
_ = IPath.DeleteEmptyDirectories(personKeyDirectory);
|
_ = IPath.DeleteEmptyDirectories(personKeyDirectory);
|
||||||
}
|
}
|
||||||
_ = IPath.DeleteEmptyDirectories(ticksDirectory);
|
_ = IPath.DeleteEmptyDirectories(ticksDirectory.Directory);
|
||||||
_ = IPath.DeleteEmptyDirectories(ticksDirectory);
|
_ = IPath.DeleteEmptyDirectories(ticksDirectory.Directory);
|
||||||
}
|
}
|
||||||
if (check)
|
if (check)
|
||||||
throw new Exception("PersonKey director(ies) where renamed. Please restart!");
|
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<TicksDirectory> UpdateDateVerifyAndGetTicksDirectories(string eDistanceContentDirectory)
|
||||||
{
|
{
|
||||||
const int zero = 0;
|
List<TicksDirectory> results = new();
|
||||||
|
float? totalDays;
|
||||||
string ticksDirectoryName;
|
string ticksDirectoryName;
|
||||||
DirectoryInfo directoryInfo;
|
DirectoryInfo directoryInfo;
|
||||||
long? lastDirectoryTicks = null;
|
long? lastDirectoryTicks = null;
|
||||||
DateTime dateTime = DateTime.Now;
|
DateTime dateTime = DateTime.Now;
|
||||||
List<(string Directory, TimeSpan TimeSpan)> collection = new();
|
string[] ticksDirectories = Directory.GetDirectories(eDistanceContentDirectory, "*", SearchOption.TopDirectoryOnly);
|
||||||
string[] results = Directory.GetDirectories(eDistanceContentDirectory, "*", SearchOption.TopDirectoryOnly);
|
foreach (string ticksDirectory in ticksDirectories)
|
||||||
foreach (string ticksDirectory in results)
|
|
||||||
{
|
{
|
||||||
ticksDirectoryName = Path.GetFileName(ticksDirectory);
|
ticksDirectoryName = Path.GetFileName(ticksDirectory);
|
||||||
if (ticksDirectoryName.Length < 3 || ticksDirectoryName[zero] != '(' || ticksDirectoryName[^1] != ')')
|
if (ticksDirectoryName.Length < 3 || ticksDirectoryName.First() != '(' || ticksDirectoryName[^1] != ')')
|
||||||
continue;
|
continue;
|
||||||
if (!long.TryParse(ticksDirectoryName[1..^1], out long directoryTicks))
|
if (!long.TryParse(ticksDirectoryName[1..^1], out long directoryTicks))
|
||||||
{
|
{
|
||||||
@ -700,11 +698,11 @@ internal abstract class MapLogic
|
|||||||
Directory.SetCreationTime(ticksDirectory, new DateTime(directoryTicks));
|
Directory.SetCreationTime(ticksDirectory, new DateTime(directoryTicks));
|
||||||
if (directoryInfo.LastWriteTime.Ticks != directoryTicks)
|
if (directoryInfo.LastWriteTime.Ticks != directoryTicks)
|
||||||
Directory.SetLastWriteTime(ticksDirectory, new DateTime(directoryTicks));
|
Directory.SetLastWriteTime(ticksDirectory, new DateTime(directoryTicks));
|
||||||
if (lastDirectoryTicks is not null && new TimeSpan(dateTime.Ticks - directoryTicks).TotalDays > 1)
|
totalDays = lastDirectoryTicks is null || new TimeSpan(dateTime.Ticks - directoryTicks).TotalDays < 1 ? null : (float)new TimeSpan(directoryTicks - lastDirectoryTicks.Value).TotalDays;
|
||||||
collection.Add((ticksDirectory, new TimeSpan(directoryTicks - lastDirectoryTicks.Value)));
|
results.Add(new(ticksDirectory, ticksDirectoryName, directoryTicks, totalDays));
|
||||||
lastDirectoryTicks = directoryTicks;
|
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())
|
if (compare.Any())
|
||||||
throw new Exception($"Please Consolidate <{string.Join(Environment.NewLine, compare)}>");
|
throw new Exception($"Please Consolidate <{string.Join(Environment.NewLine, compare)}>");
|
||||||
return results;
|
return results;
|
||||||
@ -895,12 +893,12 @@ internal abstract class MapLogic
|
|||||||
Dictionary<string, string> personKeyFormattedToNewestPersonKeyFormatted = new();
|
Dictionary<string, string> personKeyFormattedToNewestPersonKeyFormatted = new();
|
||||||
Dictionary<string, PersonContainer> personKeyFormattedToPersonContainer = new();
|
Dictionary<string, PersonContainer> personKeyFormattedToPersonContainer = new();
|
||||||
Dictionary<long, List<PersonContainer>> personKeyToPersonContainerCollection = new();
|
Dictionary<long, List<PersonContainer>> personKeyToPersonContainerCollection = new();
|
||||||
string[] ticksDirectories = UpdateDateVerifyAndGetTicksDirectories(eDistanceContentDirectory);
|
List<TicksDirectory> ticksDirectories = UpdateDateVerifyAndGetTicksDirectories(eDistanceContentDirectory);
|
||||||
List<PersonKeyFormattedIdThenWholePercentages> personKeyFormattedIdThenWholePercentagesCollection = new();
|
List<PersonKeyFormattedIdThenWholePercentages> personKeyFormattedIdThenWholePercentagesCollection = new();
|
||||||
List<(PersonKeyFormattedIdThenWholePercentages, PersonContainer)> possiblyNewPersonDisplayDirectoryNamesAndPersonContainer = new();
|
List<(PersonKeyFormattedIdThenWholePercentages, PersonContainer)> possiblyNewPersonDisplayDirectoryNamesAndPersonContainer = new();
|
||||||
SetPersonCollections(configuration, personContainers, a2PeopleSingletonDirectory, personKeyFormattedToNewestPersonKeyFormatted, personKeyFormattedCollection, skipCollection, skipNotSkipCollection);
|
SetPersonCollections(configuration, personContainers, a2PeopleSingletonDirectory, personKeyFormattedToNewestPersonKeyFormatted, personKeyFormattedCollection, skipCollection, skipNotSkipCollection);
|
||||||
totalSeconds = (int)Math.Floor(new TimeSpan(DateTime.Now.Ticks - ticks).TotalSeconds);
|
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<Record> records = DeleteEmptyDirectoriesAndGetCollection(configuration, personKeyFormattedToNewestPersonKeyFormatted, personKeyFormattedCollection, ticksDirectories, message);
|
List<Record> records = DeleteEmptyDirectoriesAndGetCollection(configuration, personKeyFormattedToNewestPersonKeyFormatted, personKeyFormattedCollection, ticksDirectories, message);
|
||||||
locationContainers.AddRange(GetLocationContainers(maxDegreeOfParallelism, configuration, ticks, personContainers, eDistanceContentDirectory, records));
|
locationContainers.AddRange(GetLocationContainers(maxDegreeOfParallelism, configuration, ticks, personContainers, eDistanceContentDirectory, records));
|
||||||
int unableToMatchCount = SetCollectionsAndGetUnableToConvertCount(configuration, ticks, personKeyFormattedIdThenWholePercentagesCollection, records);
|
int unableToMatchCount = SetCollectionsAndGetUnableToConvertCount(configuration, ticks, personKeyFormattedIdThenWholePercentagesCollection, records);
|
||||||
|
@ -10,7 +10,7 @@ dateFormat: mm/dd
|
|||||||
taskTemplate: '^+^_${overdue ? ''^R'' : ''''}${name}^: ${relations ? (''\n^-^/^g'' + relations.reduce((accumulator, currentValue) => accumulator.task + currentValue.task + '' '', '''')) : ''''}'
|
taskTemplate: '^+^_${overdue ? ''^R'' : ''''}${name}^: ${relations ? (''\n^-^/^g'' + relations.reduce((accumulator, currentValue) => accumulator.task + currentValue.task + '' '', '''')) : ''''}'
|
||||||
---
|
---
|
||||||
|
|
||||||
# View-by-Distance
|
# View-by-Distance-Shared
|
||||||
|
|
||||||
## Backlog
|
## Backlog
|
||||||
|
|
||||||
@ -20,14 +20,15 @@ taskTemplate: '^+^_${overdue ? ''^R'' : ''''}${name}^: ${relations ? (''\n^-^/^g
|
|||||||
- [setup-syncthing-server](tasks/setup-syncthing-server.md)
|
- [setup-syncthing-server](tasks/setup-syncthing-server.md)
|
||||||
- [photoview-in-docker-for-a-viewer-only](tasks/photoview-in-docker-for-a-viewer-only.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)
|
- [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)
|
- [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)
|
- [cluster-questioning](tasks/cluster-questioning.md)
|
||||||
- [console-for-markdown-to-genealogical-data-communication](tasks/console-for-markdown-to-genealogical-data-communication.md)
|
|
||||||
|
|
||||||
## Todo
|
## Todo
|
||||||
|
|
||||||
- [determine-if-location-container-collection-is-needed-in-get-faces](tasks/determine-if-location-container-collection-is-needed-in-get-faces.md)
|
- [look-for-family-from-jlink-in-z-mapped](tasks/look-for-family-from-jlink-in-z-mapped.md)
|
||||||
- [import-know-faces-into-db](tasks/import-know-faces-into-db.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)
|
- [use-eyes-to-find-orientation](tasks/use-eyes-to-find-orientation.md)
|
||||||
- [find-incorrectly-mapped-faces](tasks/find-incorrectly-mapped-faces.md)
|
- [find-incorrectly-mapped-faces](tasks/find-incorrectly-mapped-faces.md)
|
||||||
- [nef-support](tasks/nef-support.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)
|
- [merge-kristy-files](tasks/merge-kristy-files.md)
|
||||||
- [set-date-taken-when-missing](tasks/set-date-taken-when-missing.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
|
## Done
|
||||||
|
|
@ -1,10 +1,10 @@
|
|||||||
---
|
---
|
||||||
created: "2023-07-21T18:26:38.896Z"
|
created: 2023-07-21T18:26:38.896Z
|
||||||
updated: "2023-07-21T18:26:38.896Z"
|
updated: 2023-07-31T19:09:19.529Z
|
||||||
assigned: ""
|
assigned: ""
|
||||||
progress: 0
|
progress: 0
|
||||||
status: "2-Todo"
|
status: 2-Todo
|
||||||
type: "kanbn"
|
type: kanbn
|
||||||
---
|
---
|
||||||
|
|
||||||
# Determine if Location Container Collection Is Needed in Get Faces
|
# Determine if Location Container Collection Is Needed in Get Faces
|
@ -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)
|
@ -1,22 +1,38 @@
|
|||||||
---
|
---
|
||||||
created: "2023-07-21T18:26:38.908Z"
|
created: 2023-07-21T18:26:38.908Z
|
||||||
updated: "2023-07-21T18:26:38.909Z"
|
updated: 2023-07-31T19:09:25.585Z
|
||||||
assigned: ""
|
assigned: ""
|
||||||
progress: 0
|
progress: 0
|
||||||
status: "2-Todo"
|
status: 2-Todo
|
||||||
type: "kanbn"
|
type: kanbn
|
||||||
---
|
---
|
||||||
|
|
||||||
# Import Know Faces Into Db
|
# Import Know Faces Into Db
|
||||||
|
|
||||||
```bash
|
```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
|
docker compose exec photoprism photoprism backup -i -f
|
||||||
# https://docs.photoprism.app/user-guide/backups/restore/
|
|
||||||
|
|
||||||
|
|
||||||
docker compose exec photoprism photoprism restore -i -f
|
docker compose exec photoprism photoprism restore -i -f
|
||||||
```
|
```
|
||||||
|
|
@ -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
|
@ -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
|
95
Shared/.vscode/settings.json
vendored
95
Shared/.vscode/settings.json
vendored
@ -1,6 +1,95 @@
|
|||||||
{
|
{
|
||||||
"cSpell.words": [
|
"cSpell.words": [
|
||||||
"Permyriad",
|
"appsettings",
|
||||||
"Phares"
|
"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"
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user