@@ -3,8 +3,8 @@ import { ILesson } from "./untis_utils/ints";
33import { parseDate } from "./untis" ;
44import { parseTimetable } from "./untis_utils/data" ;
55import * as fs from "fs" ;
6- import * as ics from "ics" ;
76import { 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