From 2d6bf09cb009ad295ab403cad09198ce7159d934 Mon Sep 17 00:00:00 2001 From: Andrea Vos Date: Wed, 31 May 2023 19:31:58 +0200 Subject: [PATCH] [pl][calendar] generate ics for miastamaszerujace.pl --- server/miastamaszerujace.js | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/server/miastamaszerujace.js b/server/miastamaszerujace.js index 0db57eb48..ce14f2b3b 100644 --- a/server/miastamaszerujace.js +++ b/server/miastamaszerujace.js @@ -5,6 +5,7 @@ const { JSDOM } = require("jsdom"); const { Day } = require('../src/calendar/helpers'); const fs = require('fs'); const mailer = require('../src/mailer'); +const { createEvents } = require('ics'); const year = Day.today().year; @@ -36,7 +37,9 @@ const fetchEvents = async () => { (async () => { const events = await fetchEvents(); console.log(events); - const path = `${__dirname}/../static/calendar/miastamaszerujace-${year}.json`; + + const dir = `${__dirname}/../static/calendar`; + const path = `${dir}/miastamaszerujace-${year}.json`; const previous = fs.existsSync(path) ? JSON.parse(fs.readFileSync(path).toString('UTF-8')) : null; if (JSON.stringify(events) !== JSON.stringify(previous)) { console.log('wykryto zmiany, wysyłam maila'); @@ -47,4 +50,24 @@ const fetchEvents = async () => { }) } fs.writeFileSync(path, JSON.stringify(events, null, 4)); + + createEvents( + events.map((e, i) => { + return { + title: e.name, + start: [e.date.year, e.date.month, e.date.day], + end: [e.date.year, e.date.month, e.date.day], + calName: `Marsze Równości ${year}`, + sequence: i, + } + }), + (error, value) => { + if (error) { + console.error(error); + return; + } + + fs.writeFileSync(`${dir}/miastamaszerujace.ics`, value); + } + ); })();