UNPKG

@rr0/cms

Version:

RR0 Content Management System (CMS)

147 lines (146 loc) 4.89 kB
import { AbstractDatasource } from "../AbstractDatasource.js"; import { ContextFilter } from "../ContextFilter.js"; import { TimeContext } from "../../TimeContext.mjs"; export class SceauContextFilter extends ContextFilter { constructor(context) { super(context); } filter(c) { const dateStr = c.dateCas || c.datePubli || c.dateEnquete; const isoCaseDate = dateStr.toUpperCase(); const sightingTime = TimeContext.fromString(isoCaseDate); const time = this.context.time; const day = time.getDayOfMonth(); const month = time.getMonth(); const year = time.getYear(); return (!year || year === sightingTime.getYear()) && (!month || month === sightingTime.getMonth()) && (!day || day === sightingTime.getDayOfMonth()); } } export class SceauDatasource extends AbstractDatasource { constructor(pages = [ { path: "fond_patrick_fournel/base_fond_patrick_fournel.html", mapping: { datePubli: "DATE PUBLI", dateCas: "DATE CAS", pays: "PAYS", ville: "VILLE", journal: "JOURNAL", journalSource: "JOURNAL/SOURCE", titreSource: "TITRE/SOURCE", resume: "RESUME", pdf: "PDF", texte: "TEXTE", json: "JSON", nomFichier: "NOM FICHIER" } }, { path: "fond_gueudelot/base_fiches_gueudelot.html", mapping: { id: "#", dateCas: "DATE", pays: "PAYS", ville: "VILLE", journalSource: "JOURNAL/SOURCE", titreSource: "TITRE/SOURCE", resume: "RESUME", numero: "NUMERO", pdf: "PDF", texte: "TEXTE", json: "JSON", nomFichier: "NOM FICHIER" } }, { path: "fond_ldln/base_ldln_contre_enquetes.html", mapping: { id: "NUMERO CAS", dateCas: "DATE", dateEnquete: "DATE_ENQUETE", enqueteur: "ENQUETEUR", resume: "RESUME", conclusion: "CONCLUSION", pdf: "PDF", texte: "TEXTE", json: "JSON", nomFichier: "NOM FICHIER" } }, { path: "fond_psy/base_fond_psy_presse_france.html", mapping: { id: "NUMERO CAS", datePubli: "DATE_PARUTION", dateCas: "DATE", pays: "PAYS", ville: "VILLE", journal: "JOURNAL", page: "PAGE", titreSource: "TITRE", resume: "RESUME", pdf: "PDF", texte: "TEXTE", json: "JSON", nomFichier: "NOM FICHIER" } }, { path: "fond_rre/base_fond_rre_CdP1_2.html", mapping: { datePubli: "DATE PUBLI", dateCas: "DATE CAS", pays: "PAYS", ville: "VILLE", journal: "JOURNAL", journalSource: "JOURNAL/SOURCE", titreSource: "TITRE/SOURCE", resume: "RESUME", pdf: "PDF", texte: "TEXTE", json: "JSON", nomFichier: "NOM FICHIER" } }, { path: "fond_rre/base_fond_rre_CdP1_2_3.html", mapping: { datePubli: "DATE PUBLI", dateCas: "DATE CAS", pays: "PAYS", ville: "VILLE", journal: "JOURNAL", journalSource: "JOURNAL/SOURCE", titreSource: "TITRE/SOURCE", resume: "RESUME", pdf: "PDF", texte: "TEXTE", json: "JSON", nomFichier: "NOM FICHIER" } }, { path: "fond_rre/base_fond_rre_CdP1_2_3_4.html", mapping: { datePubli: "DATE PUBLI", dateCas: "DATE CAS", pays: "PAYS", ville: "VILLE", journal: "JOURNAL", journalSource: "JOURNAL/SOURCE", titreSource: "TITRE/SOURCE", resume: "RESUME", pdf: "PDF", texte: "TEXTE", json: "JSON", nomFichier: "NOM FICHIER" } } ], authors = ["SCEAU"], copyright = "Fonds") { super(authors, copyright); this.pages = pages; } createFilter(context) { return new SceauContextFilter(context); } }