every day at 10am the script runs
This commit is contained in:
parent
4360499dd0
commit
831dfaaea0
4 changed files with 45 additions and 31 deletions
|
@ -5,23 +5,9 @@ PRODID:https://mhaifafc.com/
|
|||
METHOD:PUBLISH
|
||||
X-PUBLISHED-TTL:PT1H
|
||||
BEGIN:VEVENT
|
||||
UID:OOg8oTxogguu8rzrqhISi
|
||||
UID:XM2mxB4gOmBM4OBkqWWW1
|
||||
SUMMARY:Maccabi Haifa F.C.
|
||||
DTSTAMP:20230330T060421Z
|
||||
DTSTART:20230401T170000Z
|
||||
DTEND:20230401T190000Z
|
||||
DESCRIPTION:Maccabi Haifa vs. H Be'er Sheva
|
||||
URL:https://mhaifafc.com/
|
||||
LOCATION:Sammy Ofer Stadium
|
||||
STATUS:CONFIRMED
|
||||
CATEGORIES:
|
||||
ORGANIZER;CN=Maccabi Haifa F.C.
|
||||
X-MICROSOFT-CDO-BUSYSTATUS:BUSY
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
UID:dF2NNZZYkoYqyT9lUvRUL
|
||||
SUMMARY:Maccabi Haifa F.C.
|
||||
DTSTAMP:20230330T060421Z
|
||||
DTSTAMP:20230402T080845Z
|
||||
DTSTART:20230404T173000Z
|
||||
DTEND:20230404T193000Z
|
||||
DESCRIPTION:Maccabi Tel aviv vs. Maccabi Haifa
|
||||
|
@ -33,9 +19,9 @@ ORGANIZER;CN=Maccabi Haifa F.C.
|
|||
X-MICROSOFT-CDO-BUSYSTATUS:BUSY
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
UID:w1jpYkmLHn22sPStvLVvX
|
||||
UID:7P2E8_IBsTYsJlGkVZu7u
|
||||
SUMMARY:Maccabi Haifa F.C.
|
||||
DTSTAMP:20230330T060421Z
|
||||
DTSTAMP:20230402T080845Z
|
||||
DTSTART:20230408T170000Z
|
||||
DTEND:20230408T190000Z
|
||||
DESCRIPTION:Maccabi Haifa vs. Maccabi Netanya
|
||||
|
@ -47,9 +33,9 @@ ORGANIZER;CN=Maccabi Haifa F.C.
|
|||
X-MICROSOFT-CDO-BUSYSTATUS:BUSY
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
UID:Ltl5msGiuujEh6aXPj7R6
|
||||
UID:cMHqpY5PoYZOG_IizeMXS
|
||||
SUMMARY:Maccabi Haifa F.C.
|
||||
DTSTAMP:20230330T060421Z
|
||||
DTSTAMP:20230402T080845Z
|
||||
DTSTART:20230415T153000Z
|
||||
DTEND:20230415T173000Z
|
||||
DESCRIPTION:Hapoel Jerusalem vs. Maccabi Haifa
|
||||
|
@ -61,9 +47,9 @@ ORGANIZER;CN=Maccabi Haifa F.C.
|
|||
X-MICROSOFT-CDO-BUSYSTATUS:BUSY
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
UID:mhXQ-EHi3UTLDyP_f0X7C
|
||||
UID:Z80kiSCKPEMLud1BUFxia
|
||||
SUMMARY:Maccabi Haifa F.C.
|
||||
DTSTAMP:20230330T060421Z
|
||||
DTSTAMP:20230402T080845Z
|
||||
DTSTART:20230423T173000Z
|
||||
DTEND:20230423T193000Z
|
||||
DESCRIPTION:F.C Ashdod vs. Maccabi Haifa
|
||||
|
@ -75,9 +61,9 @@ ORGANIZER;CN=Maccabi Haifa F.C.
|
|||
X-MICROSOFT-CDO-BUSYSTATUS:BUSY
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
UID:rlUHEdqvIN_bym5lWst2Q
|
||||
UID:mndtB--cUk1MicazqF1lv
|
||||
SUMMARY:Maccabi Haifa F.C.
|
||||
DTSTAMP:20230330T060421Z
|
||||
DTSTAMP:20230402T080845Z
|
||||
DTSTART:20230501T173000Z
|
||||
DTEND:20230501T193000Z
|
||||
DESCRIPTION:H Be'er Sheva vs. Maccabi Haifa
|
||||
|
|
17
package-lock.json
generated
17
package-lock.json
generated
|
@ -6,6 +6,7 @@
|
|||
"": {
|
||||
"dependencies": {
|
||||
"axios": "^1.3.4",
|
||||
"cron": "^2.3.0",
|
||||
"dotenv": "^16.0.3",
|
||||
"googleapis": "^113.0.0",
|
||||
"ics": "^3.1.0",
|
||||
|
@ -132,6 +133,14 @@
|
|||
"node": ">= 0.8"
|
||||
}
|
||||
},
|
||||
"node_modules/cron": {
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmjs.org/cron/-/cron-2.3.0.tgz",
|
||||
"integrity": "sha512-ZN5HP8zDY41sJolMsbc+GksRATcbvkPKF5wR/qc8FrV4NBVi9ORQa1HmYa5GydaysUB80X9XpRlRkooa5uEtTA==",
|
||||
"dependencies": {
|
||||
"luxon": "^3.2.1"
|
||||
}
|
||||
},
|
||||
"node_modules/css-select": {
|
||||
"version": "5.1.0",
|
||||
"resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz",
|
||||
|
@ -530,6 +539,14 @@
|
|||
"node": ">=10"
|
||||
}
|
||||
},
|
||||
"node_modules/luxon": {
|
||||
"version": "3.3.0",
|
||||
"resolved": "https://registry.npmjs.org/luxon/-/luxon-3.3.0.tgz",
|
||||
"integrity": "sha512-An0UCfG/rSiqtAIiBPO0Y9/zAnHUZxAMiCpTd5h2smgsj7GGmcenvrvww2cqNA8/4A5ZrD1gJpHN2mIHZQF+Mg==",
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/mime-db": {
|
||||
"version": "1.52.0",
|
||||
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{
|
||||
"dependencies": {
|
||||
"axios": "^1.3.4",
|
||||
"cron": "^2.3.0",
|
||||
"dotenv": "^16.0.3",
|
||||
"googleapis": "^113.0.0",
|
||||
"ics": "^3.1.0",
|
||||
|
|
24
src/index.ts
24
src/index.ts
|
@ -3,6 +3,8 @@ import GameSource from './GameSource';
|
|||
import fs from 'fs';
|
||||
import Ics from './Ics';
|
||||
|
||||
const CronJob = require('cron').CronJob;
|
||||
|
||||
|
||||
class App {
|
||||
googleCalendar: GoogleCalendar;
|
||||
|
@ -31,11 +33,19 @@ class App {
|
|||
|
||||
const app = new App();
|
||||
|
||||
const start = async () => {
|
||||
const outputFileLocation = 'maccabi-haifa-fc.ics';
|
||||
const games = await app.gameSource.getGamesFromHaifa();
|
||||
const icsEvents = app.ics.generateIcsOutputFromGames(games);
|
||||
fs.writeFileSync(outputFileLocation, icsEvents);
|
||||
}
|
||||
|
||||
start();
|
||||
const job = new CronJob(
|
||||
"0 10 * * *",
|
||||
async () => {
|
||||
console.log("START")
|
||||
const outputFileLocation = 'maccabi-haifa-fc.ics';
|
||||
const games = await app.gameSource.getGamesFromHaifa();
|
||||
const icsEvents = app.ics.generateIcsOutputFromGames(games);
|
||||
fs.writeFileSync(outputFileLocation, icsEvents);
|
||||
},
|
||||
null,
|
||||
true,
|
||||
'Asia/Jerusalem'
|
||||
);
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue