Skip to content

Commit 5cacdf0

Browse files
author
NewSkyLine
committed
Siwtched to ical-generator
1 parent 402b923 commit 5cacdf0

3 files changed

Lines changed: 66 additions & 24 deletions

File tree

package-lock.json

Lines changed: 56 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
"typescript": "^5.3.3"
1919
},
2020
"dependencies": {
21+
"ical-generator": "^6.0.1",
2122
"ics": "^3.7.2",
2223
"webuntis": "^2.0.3"
2324
}

src/app.ts

Lines changed: 9 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ import { ILesson } from "./untis_utils/ints";
33
import { parseDate } from "./untis";
44
import { parseTimetable } from "./untis_utils/data";
55
import * as fs from "fs";
6-
import * as ics from "ics";
76
import { generateFileList } from "./html_gen/schema";
7+
import ical, { ICalCalendarMethod } from "ical-generator";
88

99
(async () => {
1010
const untis = new WebUntis(
@@ -26,35 +26,20 @@ import { generateFileList } from "./html_gen/schema";
2626
events = parseTimetable(timetable);
2727

2828
// Write ics file
29-
let icsEvents: ics.EventAttributes[] = [];
29+
const calendar = ical({ name: "Stundenplan" });
3030

3131
events.forEach((event) => {
32-
icsEvents.push({
33-
title: event.name,
34-
description: event.description as string,
35-
start: [
36-
event.startTime.getFullYear(),
37-
event.startTime.getMonth() + 1,
38-
event.startTime.getDate(),
39-
event.startTime.getHours() - 2,
40-
event.startTime.getMinutes(),
41-
],
42-
end: [
43-
event.endTime.getFullYear(),
44-
event.endTime.getMonth() + 1,
45-
event.endTime.getDate(),
46-
event.endTime.getHours() - 2,
47-
event.endTime.getMinutes(),
48-
],
32+
calendar.createEvent({
33+
start: event.startTime,
34+
end: event.endTime,
35+
summary: event.name,
36+
description: event.description,
4937
location: event.room,
38+
timezone: "Europe/Vienna",
5039
});
5140
});
5241

53-
const { error, value } = ics.createEvents(icsEvents);
54-
55-
if (error) {
56-
console.log(error);
57-
}
42+
const value = calendar.toString();
5843

5944
let ics_path = __dirname + "/Stundenplan";
6045
fs.mkdirSync(ics_path, { recursive: true });

0 commit comments

Comments
 (0)