From 4abfc0347a03e28eb954817bd84bf832840b6305 Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Fri, 21 Jun 2024 20:49:23 -0300 Subject: data: withParsedCommentaryEntries: dateKind, secondDate --- .../wiki-data/withParsedCommentaryEntries.js | 27 +++++++++++++++++++++- src/util/wiki-data.js | 2 +- 2 files changed, 27 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/data/composite/wiki-data/withParsedCommentaryEntries.js b/src/data/composite/wiki-data/withParsedCommentaryEntries.js index 5c28d20e..144781a8 100644 --- a/src/data/composite/wiki-data/withParsedCommentaryEntries.js +++ b/src/data/composite/wiki-data/withParsedCommentaryEntries.js @@ -95,6 +95,8 @@ export default templateCompositeFrom({ 'artistDisplayText', 'annotation', 'date', + 'secondDate', + 'dateKind', 'accessDate', 'accessKind', ]), @@ -165,10 +167,27 @@ export default templateCompositeFrom({ ['#entries.date']: date, }) => continuation({ ['#entries.date']: - date.map(date => date ? new Date(date) : null), + date + .map(date => date ? new Date(date) : null), }), }, + { + dependencies: ['#entries.secondDate'], + compute: (continuation, { + ['#entries.secondDate']: secondDate, + }) => continuation({ + ['#entries.secondDate']: + secondDate + .map(date => date ? new Date(date) : null), + }), + }, + + fillMissingListItems({ + list: '#entries.dateKind', + fill: input.value(null), + }), + { dependencies: ['#entries.accessDate', '#entries.webArchiveDate'], compute: (continuation, { @@ -206,6 +225,8 @@ export default templateCompositeFrom({ '#entries.artistDisplayText', '#entries.annotation', '#entries.date', + '#entries.secondDate', + '#entries.dateKind', '#entries.accessDate', '#entries.accessKind', '#entries.body', @@ -216,6 +237,8 @@ export default templateCompositeFrom({ ['#entries.artistDisplayText']: artistDisplayText, ['#entries.annotation']: annotation, ['#entries.date']: date, + ['#entries.secondDate']: secondDate, + ['#entries.dateKind']: dateKind, ['#entries.accessDate']: accessDate, ['#entries.accessKind']: accessKind, ['#entries.body']: body, @@ -226,6 +249,8 @@ export default templateCompositeFrom({ artistDisplayText, annotation, date, + secondDate, + dateKind, accessDate, accessKind, body, diff --git a/src/util/wiki-data.js b/src/util/wiki-data.js index f64902b7..33db526b 100644 --- a/src/util/wiki-data.js +++ b/src/util/wiki-data.js @@ -94,7 +94,7 @@ const dateRegex = groupName => String.raw`(?<${groupName}>[a-zA-Z]+ [0-9]{1,2}, [0-9]{4,4}|[0-9]{1,2} [^,]*[0-9]{4,4}|[0-9]{1,4}[-/][0-9]{1,4}[-/][0-9]{1,4})`; const commentaryRegexRaw = - String.raw`^(?.+?)(?:\|(?.+))?:<\/i>(?: \((?(?:.*?(?=,|\)[^)]*$))*?)(?:,? ?${dateRegex('date')}(?: (?captured|accessed) ${dateRegex('accessDate')})?)?\))?`; + String.raw`^(?.+?)(?:\|(?.+))?:<\/i>(?: \((?(?:.*?(?=,|\)[^)]*$))*?)(?:,? ?(?:(?sometime|throughout|around) )?${dateRegex('date')}(?: ?- ?${dateRegex('secondDate')})?(?: (?captured|accessed) ${dateRegex('accessDate')})?)?\))?`; export const commentaryRegexCaseInsensitive = new RegExp(commentaryRegexRaw, 'gmi'); export const commentaryRegexCaseSensitive = -- cgit 1.3.0-6-gf8a5