From 0ba6cadabb5655ca7bd92db74f4c3070f302a90a Mon Sep 17 00:00:00 2001 From: Pierre Quenee Date: Sun, 16 Mar 2025 20:36:08 +0100 Subject: [PATCH 1/6] first_intervention --- collections/wikitree.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/collections/wikitree.js b/collections/wikitree.js index 5331e49..0f8487c 100644 --- a/collections/wikitree.js +++ b/collections/wikitree.js @@ -167,7 +167,7 @@ function parseWikiTree(htmlstring, familymembers, relation) { for (var i = 0; i < cells.length; i++) { var urlset = $(cells[i]).find('a'); - if (exists(urlset)) { + if ((exists(urlset))&&(urlset.length > 0)) { var url = hostDomain(tablink) + $(urlset[0]).attr('href'); var title = $(cells[i]).attr('itemprop'); var name = $(urlset[0]).text(); From 7cb59dfe58cf174d9a2decb88ca5628033f587f1 Mon Sep 17 00:00:00 2001 From: Pierre Quenee Date: Tue, 18 Mar 2025 18:00:41 +0100 Subject: [PATCH 2/6] Part2 --- collections/wikitree.js | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/collections/wikitree.js b/collections/wikitree.js index 0f8487c..cdfcd89 100644 --- a/collections/wikitree.js +++ b/collections/wikitree.js @@ -20,8 +20,8 @@ registerCollection({ var parsed = $(request.source.replace(/]*>/ig, "")); var personinfo = parsed.find(".VITALS"); var focusperson = ""; - if (exists(personinfo[0])) { - focusperson = $(personinfo[0]).text().replace(/[\n\r]/g, " ").replace(/\s+/g, " ").trim(); + if (exists(personinfo[4])) { + focusperson = $(personinfo[4]).text().replace(/[\n\r]/g, " ").replace(/\s+/g, " ").trim(); if (focusperson.contains("formerly")) { focusperson = focusperson.replace("formerly", "(born") + ")"; } else if (focusperson.contains("formerly") && focusperson.contains("[surname unknown]")) { @@ -62,9 +62,9 @@ function parseWikiTree(htmlstring, familymembers, relation) { var personinfo = parsed.find(".VITALS"); var focusperson = ""; - if (exists(personinfo[0])) { - $(personinfo[0]).html($(personinfo[0]).html().replace(//gi, " ")); - focusperson = $(personinfo[0]).text().replace(/[\n\r]/g, " ").replace(/\s+/g, " ").trim(); + if (exists(personinfo[4])) { + $(personinfo[4]).html($(personinfo[4]).html().replace(//gi, " ")); + focusperson = $(personinfo[4]).text().replace(/[\n\r]/g, " ").replace(/\s+/g, " ").trim(); focusperson = focusperson.replace("[family name unknown]", ""); if (focusperson.contains("formerly") && !focusperson.contains("[surname unknown]")) { focusperson = focusperson.replace("formerly", "(born") + ")"; @@ -139,7 +139,8 @@ function parseWikiTree(htmlstring, familymembers, relation) { var burialdtflag = false; var buriallcflag = false; var deathdtflag = false; - for (var r = 1; r < personinfo.length; r++) { +// for (var r = 1; r < personinfo.length; r++) { + for (var r = 1; r < 9; r++) { var row = personinfo[r]; var data = []; var rowtitle = $(row).text().toLowerCase().trim(); @@ -342,7 +343,14 @@ function parseWikiEvent(vitalstring) { var vitalinfo = vitalstring.trim().replace("[location unknown]", "").replace("[date unknown]", ""); var datesplit = vitalinfo.split(" in "); if (datesplit.length > 0) { - var dateval = datesplit[0].trim(); + var dateval =""; + var datevalbrut = datesplit[0].trim(); + var datevalbrutsplit = datevalbrut.split("at "); + if (datevalbrutsplit.length > 0) { + dateval = datevalbrutsplit[0].trim(); + } else { + dateval = datevalbrut ; + } dateval = cleanDate(dateval); if (dateval !== "") { data.push({date: dateval}); From 57ca9b0229fbd8ffde5d809ad65faaeb5feaea02 Mon Sep 17 00:00:00 2001 From: Pierre Quenee Date: Tue, 25 Mar 2025 10:14:08 +0100 Subject: [PATCH 3/6] Part3 --- collections/wikitree.js | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/collections/wikitree.js b/collections/wikitree.js index cdfcd89..b04e1a8 100644 --- a/collections/wikitree.js +++ b/collections/wikitree.js @@ -168,7 +168,7 @@ function parseWikiTree(htmlstring, familymembers, relation) { for (var i = 0; i < cells.length; i++) { var urlset = $(cells[i]).find('a'); - if ((exists(urlset))&&(urlset.length > 0)) { + if ((exists(urlset)) && (urlset.length > 0)) { var url = hostDomain(tablink) + $(urlset[0]).attr('href'); var title = $(cells[i]).attr('itemprop'); var name = $(urlset[0]).text(); @@ -203,8 +203,12 @@ function parseWikiTree(htmlstring, familymembers, relation) { if (isPartner(title)) { myhspouse.push(famid); - if (exists(cells[2])) { - data = parseWikiEvent($(cells[2]).text()); + if (exists(cells[3])) { + data = parseWikiEvent($(cells[3]).text()); + if (exists(cells[4])) { + data.push({id: geoid, location: $(cells[4]).text()}); + geoid++; + } if (!$.isEmptyObject(data)) { subdata["marriage"] = data; } @@ -340,8 +344,8 @@ function parseWikiTree(htmlstring, familymembers, relation) { function parseWikiEvent(vitalstring) { var data = []; - var vitalinfo = vitalstring.trim().replace("[location unknown]", "").replace("[date unknown]", ""); - var datesplit = vitalinfo.split(" in "); + var vitalinfo = vitalstring.trim().replace("[location unknown]", "").replace("[date unknown]", "").replace("[uncertain]",""); + var datesplit = vitalinfo.split("\nin "); if (datesplit.length > 0) { var dateval =""; var datevalbrut = datesplit[0].trim(); From 686493634374f33b5f57512b96bb5ed9f5f2e880 Mon Sep 17 00:00:00 2001 From: Pierre Quenee Date: Wed, 26 Mar 2025 10:20:21 +0100 Subject: [PATCH 4/6] adjustment_s --- collections/wikitree.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/collections/wikitree.js b/collections/wikitree.js index b04e1a8..d59ab9e 100644 --- a/collections/wikitree.js +++ b/collections/wikitree.js @@ -345,7 +345,7 @@ function parseWikiTree(htmlstring, familymembers, relation) { function parseWikiEvent(vitalstring) { var data = []; var vitalinfo = vitalstring.trim().replace("[location unknown]", "").replace("[date unknown]", "").replace("[uncertain]",""); - var datesplit = vitalinfo.split("\nin "); + var datesplit = vitalinfo.split("\sin "); if (datesplit.length > 0) { var dateval =""; var datevalbrut = datesplit[0].trim(); From d4edda9067063c07bf948d88d268aa48fda3edf1 Mon Sep 17 00:00:00 2001 From: Pierre Quenee Date: Fri, 28 Mar 2025 19:04:37 +0100 Subject: [PATCH 5/6] Part4 --- collections/wikitree.js | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/collections/wikitree.js b/collections/wikitree.js index d59ab9e..19e0c80 100644 --- a/collections/wikitree.js +++ b/collections/wikitree.js @@ -202,11 +202,13 @@ function parseWikiTree(htmlstring, familymembers, relation) { unionurls[famid] = itemid; if (isPartner(title)) { + const mardate = cells.find('span.marriage-date'); + const marloc = cells.find('span.marriage-location'); myhspouse.push(famid); - if (exists(cells[3])) { - data = parseWikiEvent($(cells[3]).text()); - if (exists(cells[4])) { - data.push({id: geoid, location: $(cells[4]).text()}); + if (exists(mardate)) { + data = parseWikiEvent($(mardate).text()); + if (exists(marloc)) { + data.push({id: geoid, location: $(marloc).text()}); geoid++; } if (!$.isEmptyObject(data)) { @@ -345,7 +347,8 @@ function parseWikiTree(htmlstring, familymembers, relation) { function parseWikiEvent(vitalstring) { var data = []; var vitalinfo = vitalstring.trim().replace("[location unknown]", "").replace("[date unknown]", "").replace("[uncertain]",""); - var datesplit = vitalinfo.split("\sin "); + const regin = /\sin /; + var datesplit = vitalinfo.split(regin); if (datesplit.length > 0) { var dateval =""; var datevalbrut = datesplit[0].trim(); From f232f43115854ee89356800a95991889e5707d67 Mon Sep 17 00:00:00 2001 From: Pierre Quenee Date: Wed, 25 Jun 2025 11:29:21 +0200 Subject: [PATCH 6/6] backtracking on wikitree --- collections/wikitree.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/collections/wikitree.js b/collections/wikitree.js index 19e0c80..35597fe 100644 --- a/collections/wikitree.js +++ b/collections/wikitree.js @@ -20,8 +20,8 @@ registerCollection({ var parsed = $(request.source.replace(/]*>/ig, "")); var personinfo = parsed.find(".VITALS"); var focusperson = ""; - if (exists(personinfo[4])) { - focusperson = $(personinfo[4]).text().replace(/[\n\r]/g, " ").replace(/\s+/g, " ").trim(); + if (exists(personinfo[2])) { + focusperson = $(personinfo[2]).text().replace(/[\n\r]/g, " ").replace(/\s+/g, " ").trim(); if (focusperson.contains("formerly")) { focusperson = focusperson.replace("formerly", "(born") + ")"; } else if (focusperson.contains("formerly") && focusperson.contains("[surname unknown]")) { @@ -62,9 +62,9 @@ function parseWikiTree(htmlstring, familymembers, relation) { var personinfo = parsed.find(".VITALS"); var focusperson = ""; - if (exists(personinfo[4])) { - $(personinfo[4]).html($(personinfo[4]).html().replace(//gi, " ")); - focusperson = $(personinfo[4]).text().replace(/[\n\r]/g, " ").replace(/\s+/g, " ").trim(); + if (exists(personinfo[2])) { + $(personinfo[2]).html($(personinfo[2]).html().replace(//gi, " ")); + focusperson = $(personinfo[2]).text().replace(/[\n\r]/g, " ").replace(/\s+/g, " ").trim(); focusperson = focusperson.replace("[family name unknown]", ""); if (focusperson.contains("formerly") && !focusperson.contains("[surname unknown]")) { focusperson = focusperson.replace("formerly", "(born") + ")";