blob: 4fa7c20b3d09bcf5e77c6b0b438223efa0ca281e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
import * as moment from 'moment';
import {config} from './config';
import {SplusApi} from './core/SplusApi';
import {IEvent} from './core/IEvent';
async function main() {
const baseDate = moment().startOf('week');
const unfilteredLectures = await SplusApi.getData(config.course, baseDate.weeks());
const lectures = unfilteredLectures.filter(config.lectureFilter);
for (let i = 0; i < lectures.length; i++) {
const lec = lectures[i];
let beginDate = baseDate.clone();
beginDate.add(moment.duration({
days: lec.day + 1, // for moment: 1 = Monday
hours: lec.begin,
}));
let endDate = baseDate.clone();
endDate.add(moment.duration({
days: lec.day + 1,
hours: lec.end,
}));
const event: IEvent = {
summary: lec.title,
description: lec.lecturer + (lec.info !== '' ? ' - ' : '') + lec.info,
location: lec.room,
start: beginDate.toDate(),
end: endDate.toDate(),
};
await config.sink.createEvent(event);
console.log(lec.title, beginDate.toISOString(), endDate.toISOString());
}
await config.sink.commit();
}
main();
|