line height text, refactored course schedule, added string representation functions to course meeting

This commit is contained in:
Sriram Hariharan
2023-03-06 16:51:46 -06:00
parent 007ade81a0
commit 9b76f8afa0
9 changed files with 182 additions and 56 deletions

View File

@@ -1,5 +1,5 @@
import { Course, Instructor, Status, InstructionMode, ScrapedRow } from 'src/shared/types/Course';
import { CourseSchedule, CourseMeeting } from 'src/shared/types/CourseSchedule';
import { CourseSchedule } from 'src/shared/types/CourseSchedule';
import { SiteSupport } from 'src/views/lib/getSiteSupport';
/**
@@ -289,17 +289,18 @@ export class CourseCatalogScraper {
throw new Error('Schedule data is malformed');
}
const meetings: CourseMeeting[] = [];
const schedule = new CourseSchedule();
for (let i = 0; i < dayLines.length; i += 1) {
const lineMeetings = CourseSchedule.parse(
dayLines[i].textContent || '',
hourLines[i].textContent || '',
roomLines[i].textContent || ''
schedule.meetings.push(
CourseSchedule.parse(
dayLines[i].textContent || '',
hourLines[i].textContent || '',
roomLines[i].textContent || ''
)
);
meetings.push(...lineMeetings);
}
return new CourseSchedule({ meetings });
return schedule;
}
}