From c2317850bade3b4f8d4dfbf637a4e7f0428fe944 Mon Sep 17 00:00:00 2001 From: schneefux Date: Fri, 25 May 2018 21:34:51 +0200 Subject: Support multiple courses --- src/config.ts | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) (limited to 'src/config.ts') diff --git a/src/config.ts b/src/config.ts index a460ef2..31ebf6b 100644 --- a/src/config.ts +++ b/src/config.ts @@ -4,7 +4,7 @@ import {ILectureFilter} from './core/ILecture'; import {IcalSink} from './sinks/IcalSink'; export interface SplusConfig { - course: string; + courses: string[]; sink: ISink; prefetchWeeks: number; @@ -12,18 +12,21 @@ export interface SplusConfig { } export const config: SplusConfig = { - course: '#SPLUS7A3292', + courses: ['#SPLUS7A3292', '#SPLUS7A3280'], sink: new IcalSink('kalender/informatik1.ics'), prefetchWeeks: 4, - lectureFilter: lecture => { - // Filter some lectures out - if (lecture.title === '') return false; - if (lecture.title.indexOf('Mathe-Cafe') !== -1) return false; - if (lecture.title.indexOf('Mathe-Repetitorium') !== -1) return false; - if (lecture.title.indexOf('Informatik-Lounge') !== -1) return false; - if (lecture.title.indexOf('Grundlagen des Programmierens') !== -1) return false; - if (lecture.title.indexOf('Reservierung') !== -1) return false; - return lecture.title.indexOf('Kompetenzen') === -1; + 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)); } }; -- cgit v1.3.1