Family Tree as Markdown Files

This commit is contained in:
Mike Phares 2023-07-10 01:02:20 -07:00
parent 818a1b0b38
commit 240c1ef6f9
4 changed files with 43 additions and 36 deletions

View File

@ -20,7 +20,6 @@ taskTemplate: '^+^_${overdue ? ''^R'' : ''''}${name}^: ${relations ? (''\n^-^/^g
- [import-face-region-metadata](tasks/import-face-region-metadata.md) - [import-face-region-metadata](tasks/import-face-region-metadata.md)
- [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)
- [family-tree-as-markdown-files](tasks/family-tree-as-markdown-files.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)
- [cluster-questioning](tasks/cluster-questioning.md) - [cluster-questioning](tasks/cluster-questioning.md)
@ -35,6 +34,9 @@ taskTemplate: '^+^_${overdue ? ''^R'' : ''''}${name}^: ${relations ? (''\n^-^/^g
## In Progress ## In Progress
- [merge-kristy-files](tasks/merge-kristy-files.md)
- [set-date-taken-when-missing](tasks/set-date-taken-when-missing.md)
- [family-tree-as-markdown-files](tasks/family-tree-as-markdown-files.md)
## Done ## Done
@ -42,6 +44,4 @@ taskTemplate: '^+^_${overdue ? ''^R'' : ''''}${name}^: ${relations ? (''\n^-^/^g
- [run-scan-originals](tasks/run-scan-originals.md) - [run-scan-originals](tasks/run-scan-originals.md)
- [shrink-percent](tasks/shrink-percent.md) - [shrink-percent](tasks/shrink-percent.md)
- [setup-photo-prism-again-in-wsl-docker](tasks/setup-photo-prism-again-in-wsl-docker.md) - [setup-photo-prism-again-in-wsl-docker](tasks/setup-photo-prism-again-in-wsl-docker.md)
- [set-date-taken-when-missing](tasks/set-date-taken-when-missing.md)
- [rename-files-to-padded-number-string](tasks/rename-files-to-padded-number-string.md) - [rename-files-to-padded-number-string](tasks/rename-files-to-padded-number-string.md)
- [merge-kristy-files](tasks/merge-kristy-files.md)

View File

@ -7,3 +7,6 @@ tags: []
--- ---
# Family Tree as Markdown Files # Family Tree as Markdown Files
- [ ] Look at how I can export from ged files

View File

@ -24,5 +24,5 @@ return new(result, (from l in results orderby l.FileHolder.DirectoryName?.EndsWi
- [x] Rotate the .jpg only - [x] Rotate the .jpg only
- [x] Use Rename console app to rename for storage - [x] Use Rename console app to rename for storage
- [x] Set created date - [x] Set created date
- [ ] Verify - [x] Verify
- [ ] Move to production ... - [x] Move to production ...

View File

@ -97,7 +97,7 @@ public partial class UnitTestHardCoded
[TestMethod] [TestMethod]
public void TestMethodGetApproximateYears() public void TestMethodGetApproximateYears()
{ {
string personDisplayDirectory = @"D:\1) Images A\Images-dd514b88-Results\A2) People\dd514b88\{}\^\Sydney Dupray^9"; string personDisplayDirectory = @"D:\1-Images-A\Images-dd514b88-Results\A2) People\dd514b88\{}\^\Sydney Dupray^9";
if (Directory.Exists(Directory.GetDirectoryRoot(personDisplayDirectory)) && Directory.Exists(personDisplayDirectory)) if (Directory.Exists(Directory.GetDirectoryRoot(personDisplayDirectory)) && Directory.Exists(personDisplayDirectory))
{ {
char numberSign = '#'; char numberSign = '#';
@ -200,7 +200,7 @@ public partial class UnitTestHardCoded
[TestMethod] [TestMethod]
public void TestMethodRenameAbandoned() public void TestMethodRenameAbandoned()
{ {
string directory = @"D:\1) Images A\Images-dd514b88-Results\A2) People\dd514b88\{}\!\Abandoned"; string directory = @"D:\1-Images-A\Images-dd514b88-Results\A2) People\dd514b88\{}\!\Abandoned";
if (Directory.Exists(Path.GetPathRoot(directory)) && Directory.Exists(directory)) if (Directory.Exists(Path.GetPathRoot(directory)) && Directory.Exists(directory))
{ {
string checkFile; string checkFile;
@ -220,7 +220,7 @@ public partial class UnitTestHardCoded
[TestMethod] [TestMethod]
public void TestMethodRenameDelete() public void TestMethodRenameDelete()
{ {
string directory = @"D:\1) Images A\Images-dd514b88-Results\A) Property\dd514b88\{}"; string directory = @"D:\1-Images-A\Images-dd514b88-Results\A) Property\dd514b88\{}";
if (Directory.Exists(Path.GetPathRoot(directory)) && Directory.Exists(directory)) if (Directory.Exists(Path.GetPathRoot(directory)) && Directory.Exists(directory))
{ {
string checkFile; string checkFile;
@ -240,7 +240,7 @@ public partial class UnitTestHardCoded
[TestMethod] [TestMethod]
public void TestMethodRenameOld() public void TestMethodRenameOld()
{ {
string directory = @"D:\2) Images B\Not-Copy-Copy-dd514b88-Results\E) Distance\dd514b88\()"; string directory = @"D:\2-Images-B\Not-Copy-Copy-dd514b88-Results\E) Distance\dd514b88\()";
if (Directory.Exists(Path.GetPathRoot(directory)) && Directory.Exists(directory)) if (Directory.Exists(Path.GetPathRoot(directory)) && Directory.Exists(directory))
{ {
string checkFile; string checkFile;
@ -260,7 +260,7 @@ public partial class UnitTestHardCoded
[TestMethod] [TestMethod]
public void TestMethodAncestryGenealogicalDataCommunication() public void TestMethodAncestryGenealogicalDataCommunication()
{ {
string directory = "D:/1) Images A/Images-dd514b88-Results/A2) People/dd514b88/([])"; string directory = "D:/1-Images-A/Images-dd514b88-Results/A2) People/dd514b88/([])";
if (Directory.Exists(Path.GetPathRoot(directory)) && Directory.Exists(directory)) if (Directory.Exists(Path.GetPathRoot(directory)) && Directory.Exists(directory))
{ {
List<string> mappedLines; List<string> mappedLines;
@ -269,16 +269,18 @@ public partial class UnitTestHardCoded
GenealogicalDataCommunicationLines genealogicalDataCommunicationLines; GenealogicalDataCommunicationLines genealogicalDataCommunicationLines;
List<(bool, string)> genealogicalDataCommunicationFiles = new() List<(bool, string)> genealogicalDataCommunicationFiles = new()
{ {
new(false, Path.Combine(directory, "Ancestry-Roberts/Roberts Family Tree.ged")), // new(false, Path.Combine(directory, "Ancestry-Roberts/Roberts Family Tree.ged")),
new(false, Path.Combine(directory, "Ancestry-Phares/Phares Jr Family Tree.ged")), // new(false, Path.Combine(directory, "Ancestry-Phares/Phares Jr Family Tree.ged")),
new(true, Path.Combine(directory, "Code-638160708345114583/638160708345114583.ged")), // new(true, Path.Combine(directory, "Code-638160708345114583/638160708345114583.ged")),
new(true, Path.Combine(directory, "Code-638160728606500015/638160728606500015.ged")), // new(true, Path.Combine(directory, "Code-638160728606500015/638160728606500015.ged")),
new(true, Path.Combine(directory, "Code-638160738845419877/638160738845419877.ged")), // new(true, Path.Combine(directory, "Code-638160738845419877/638160738845419877.ged")),
new(true, Path.Combine(directory, "Code-638160743318283885/638160743318283885.ged")), // new(true, Path.Combine(directory, "Code-638160743318283885/638160743318283885.ged")),
new(false, Path.Combine(directory, "Ancestry-Porterfield/Porterfield Family Tree.ged")), new(true, Path.Combine(directory, "Code-638245446208013055/638245446208013055.ged")),
new(true, Path.Combine(directory, "Code-638160708345114583/638160708345114583-Export.ged")), // new(false, Path.Combine(directory, "Ancestry-Porterfield/Porterfield Family Tree.ged")),
new(true, Path.Combine(directory, "Code-638160738845419877/638160738845419877-Export.ged")), // new(true, Path.Combine(directory, "Code-638160708345114583/638160708345114583-Export.ged")),
new(true, Path.Combine(directory, "Code-638160743318283885/638160743318283885-Export.ged")), // new(true, Path.Combine(directory, "Code-638160738845419877/638160738845419877-Export.ged")),
// new(true, Path.Combine(directory, "Code-638160743318283885/638160743318283885-Export.ged")),
new(true, Path.Combine(directory, "Code-638245446208013055/638245446208013055-Export.ged")),
}; };
foreach ((bool requireNickName, string genealogicalDataCommunicationFile) in genealogicalDataCommunicationFiles) foreach ((bool requireNickName, string genealogicalDataCommunicationFile) in genealogicalDataCommunicationFiles)
{ {
@ -302,7 +304,7 @@ public partial class UnitTestHardCoded
public void TestMethodAncestryGenealogicalDataCommunicationCleanToExport() public void TestMethodAncestryGenealogicalDataCommunicationCleanToExport()
{ {
DateTime dateTime = DateTime.Now; DateTime dateTime = DateTime.Now;
string saveDirectory = "D:/1) Images A/Images-dd514b88-Results/A2) People/dd514b88/([])"; string saveDirectory = "D:/1-Images-A/Images-dd514b88-Results/A2) People/dd514b88/([])";
if (Directory.Exists(Path.GetPathRoot(saveDirectory)) && Directory.Exists(saveDirectory)) if (Directory.Exists(Path.GetPathRoot(saveDirectory)) && Directory.Exists(saveDirectory))
{ {
int age; int age;
@ -319,16 +321,18 @@ public partial class UnitTestHardCoded
GenealogicalDataCommunicationLines genealogicalDataCommunicationLines; GenealogicalDataCommunicationLines genealogicalDataCommunicationLines;
List<(bool, bool, string)> genealogicalDataCommunicationFiles = new() List<(bool, bool, string)> genealogicalDataCommunicationFiles = new()
{ {
new(false, false, Path.Combine(saveDirectory, "Ancestry-Roberts/Roberts Family Tree.ged.cln")), // new(false, false, Path.Combine(saveDirectory, "Ancestry-Roberts/Roberts Family Tree.ged.cln")),
new(false, false, Path.Combine(saveDirectory, "Ancestry-Phares/Phares Jr Family Tree.ged.cln")), // new(false, false, Path.Combine(saveDirectory, "Ancestry-Phares/Phares Jr Family Tree.ged.cln")),
new(true, true, Path.Combine(saveDirectory, "Code-638160708345114583/638160708345114583.ged.cln")), // new(true, true, Path.Combine(saveDirectory, "Code-638160708345114583/638160708345114583.ged.cln")),
new(true, true, Path.Combine(saveDirectory, "Code-638160728606500015/638160728606500015.ged.cln")), // new(true, true, Path.Combine(saveDirectory, "Code-638160728606500015/638160728606500015.ged.cln")),
new(true, true, Path.Combine(saveDirectory, "Code-638160738845419877/638160738845419877.ged.cln")), // new(true, true, Path.Combine(saveDirectory, "Code-638160738845419877/638160738845419877.ged.cln")),
new(true, true, Path.Combine(saveDirectory, "Code-638160743318283885/638160743318283885.ged.cln")), // new(true, true, Path.Combine(saveDirectory, "Code-638160743318283885/638160743318283885.ged.cln")),
new(false, false, Path.Combine(saveDirectory, "Ancestry-Porterfield/Porterfield Family Tree.ged.cln")), new(true, true, Path.Combine(saveDirectory, "Code-638245446208013055/638245446208013055.ged.cln")),
new(true, true, Path.Combine(saveDirectory, "Code-638160708345114583/638160708345114583-Export.ged.cln")), // new(false, false, Path.Combine(saveDirectory, "Ancestry-Porterfield/Porterfield Family Tree.ged.cln")),
new(true, true, Path.Combine(saveDirectory, "Code-638160738845419877/638160738845419877-Export.ged.cln")), // new(true, true, Path.Combine(saveDirectory, "Code-638160708345114583/638160708345114583-Export.ged.cln")),
new(true, true, Path.Combine(saveDirectory, "Code-638160743318283885/638160743318283885-Export.ged.cln")), // new(true, true, Path.Combine(saveDirectory, "Code-638160738845419877/638160738845419877-Export.ged.cln")),
// new(true, true, Path.Combine(saveDirectory, "Code-638160743318283885/638160743318283885-Export.ged.cln")),
new(true, true, Path.Combine(saveDirectory, "Code-638245446208013055/638245446208013055-Export.ged.cln")),
}; };
foreach ((bool verify, bool requireNickName, string genealogicalDataCommunicationFile) in genealogicalDataCommunicationFiles) foreach ((bool verify, bool requireNickName, string genealogicalDataCommunicationFile) in genealogicalDataCommunicationFiles)
{ {
@ -662,7 +666,7 @@ public partial class UnitTestHardCoded
public void TestMethodFamily() public void TestMethodFamily()
{ {
DateTime dateTime = DateTime.Now; DateTime dateTime = DateTime.Now;
string saveDirectory = $"D:/1) Images A/Images-dd514b88-Results/A2) People/dd514b88/([])/Norman-{dateTime.Ticks}"; string saveDirectory = $"D:/1-Images-A/Images-dd514b88-Results/A2) People/dd514b88/([])/Norman-{dateTime.Ticks}";
if (Directory.Exists(Path.GetPathRoot(saveDirectory)) && Directory.Exists(saveDirectory)) if (Directory.Exists(Path.GetPathRoot(saveDirectory)) && Directory.Exists(saveDirectory))
{ {
int age; int age;
@ -751,9 +755,9 @@ public partial class UnitTestHardCoded
[TestMethod] [TestMethod]
public void TestMethodRename() public void TestMethodRename()
{ {
// string directory = @"D:\2) Images B\Not-Copy-Copy-dd514b88"; // string directory = @"D:\2-Images-B\Not-Copy-Copy-dd514b88";
string directory = @"D:\1) Images A\Images-dd514b88"; string directory = @"D:\1-Images-A\Images-dd514b88";
// string directory = @"D:\2) Images B\Not-Copy-Copy-dd514b88"; // string directory = @"D:\2-Images-B\Not-Copy-Copy-dd514b88";
if (Directory.Exists(Path.GetPathRoot(directory)) && Directory.Exists(directory)) if (Directory.Exists(Path.GetPathRoot(directory)) && Directory.Exists(directory))
{ {
string[] directories = Directory.GetDirectories(directory, "*;*", SearchOption.AllDirectories); string[] directories = Directory.GetDirectories(directory, "*;*", SearchOption.AllDirectories);
@ -770,7 +774,7 @@ public partial class UnitTestHardCoded
[TestMethod] [TestMethod]
public void TestMethodRenameForUnkown() public void TestMethodRenameForUnkown()
{ {
string directory = @"D:\1) Images A\Images-dd514b88-Results\E) Distance\dd514b88\(RectInt-2023-06-19-less-0.99)"; string directory = @"D:\1-Images-A\Images-dd514b88-Results\E) Distance\dd514b88\(RectInt-2023-06-19-less-0.99)";
if (Directory.Exists(Path.GetPathRoot(directory)) && Directory.Exists(directory)) if (Directory.Exists(Path.GetPathRoot(directory)) && Directory.Exists(directory))
{ {
string[] files = Directory.GetFiles(directory, "*.unk", SearchOption.AllDirectories); string[] files = Directory.GetFiles(directory, "*.unk", SearchOption.AllDirectories);