summaryrefslogtreecommitdiff
path: root/src/config.ts
blob: 31ebf6b15227a818df9d63b53029c190767ec31c (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
import {ISink} from './sinks/ISink';
import {ILectureFilter} from './core/ILecture';

import {IcalSink} from './sinks/IcalSink';

export interface SplusConfig {
    courses: string[];
    sink: ISink;
    prefetchWeeks: number;

    lectureFilter?: ILectureFilter;
}

export const config: SplusConfig = {
    courses: ['#SPLUS7A3292', '#SPLUS7A3280'],
    sink: new IcalSink('kalender/informatik1.ics'),
    prefetchWeeks: 4,

    lectureFilter: (lecture) => {
        const whitelist = [
            'Programmieren',
            'Datenbanken',
            'Diskrete Strukturen',
            'Reservierung',
            'Einführung',
            'Grundlagen des Programmierens',
        ];
        const isIncluded = (s1) => (s2) => s1.includes(s2);
        const anyTrue = (arr, cond) => arr.filter(cond).length > 0;
        return anyTrue(whitelist, isIncluded(lecture.title));
    }
};