From 633590e4609923ac54028e2b5c9cf99ff32143f8 Mon Sep 17 00:00:00 2001 From: egsch Date: Mon, 25 Nov 2024 11:03:06 -0700 Subject: [PATCH] fix repeating --- src/content.ts | 101 +++++++++++++++++++++---------------------------- 1 file changed, 44 insertions(+), 57 deletions(-) diff --git a/src/content.ts b/src/content.ts index 297ae91..aace699 100644 --- a/src/content.ts +++ b/src/content.ts @@ -21,7 +21,21 @@ export const config: PlasmoCSConfig = { * - It injects the instructor names into the section table */ export async function scrapeCourseData() { - console.log('scraping course data'); + const semesters = { + S25: { + firstMonthOfSemester: '01', + firstMondayOfSemester: 20, + lastMonthOfSemester: '05', + lastFridayOfSemester: 15, + }, + F25: { + firstMonthOfSemester: '08', + firstMondayOfSemester: 18, + lastMonthOfSemester: '12', + lastFridayOfSemester: 5, + }, + }; + const [header, professors] = await Promise.all([ getCourseInfo(), injectAndGetProfessorNames(), @@ -129,44 +143,40 @@ export async function scrapeCourseData() { const times = courseRowCells.children[courseRowCells.children.length - 1].textContent; courseRowCells.insertBefore(newTd, courseRowCells.children[7]); - console.log(title); - const semesters = { - S25: { - firstMonthOfSemester: '01', - firstMondayOfSemester: 21, - lastMonthOfSemester: '05', - lastFridayOfSemester: 15, - }, - F25: { - firstMonthOfSemester: '08', - firstMondayOfSemester: 21, - lastMonthOfSemester: '12', - lastFridayOfSemester: 15, - }, - }; const semester = semesters.S25; - console.log('semester'); // parse - const monday = semester.firstMondayOfSemester; - const tuesday = semester.firstMondayOfSemester + 1; - const wednesday = semester.firstMondayOfSemester + 2; + let days = times.split(" ")[0].replace("M", "MO,").replace("W", "WE,").replace("F", "FR,").replace("Th", "TH,").replace("T", "TU,"); + if (days[days.length - 1] == ',') { + days = days.slice(0, days.length - 1); + } - let day1 = null; - let day2 = null; - const splitTimes = times.split(' '); - if (splitTimes[0] == 'MW') { - day1 = monday; - day2 = wednesday; - } else if (splitTimes[0] == 'TTh') { - day1 = tuesday; - day2 += tuesday + 2; - } else if (splitTimes[0] == 'F') { - day1 = wednesday + 2; - } else if (splitTimes[0] == 'W') { - day1 = wednesday; + let day1 = semester.firstMondayOfSemester; + switch(days.slice(0, 2)) { + case "MO": { + day1 = semester.firstMondayOfSemester; + break; + } + case "TU": { + day1 = semester.firstMondayOfSemester + 1; + break; + } + case "WE": { + day1 = semester.firstMondayOfSemester + 2; + break; + } + case "TH": { + day1 = semester.firstMondayOfSemester + 2; + break; + } + case "FR": { + day1 = semester.firstMondayOfSemester + 4; + break; + } } + + const splitTimes = times.split(' '); let startTime = splitTimes[1].replace('am', ''); let endTime = splitTimes[3].replace('am', ''); if (startTime.includes('pm')) { @@ -201,23 +211,7 @@ export async function scrapeCourseData() { timeZone: 'America/Chicago', }, recurrence: [ - `RRULE:FREQ=WEEKLY;UNTIL=2025${semester.lastMonthOfSemester}${semester.lastFridayOfSemester}T170000Z`, - ], - pid: 0, - }; - const event2 = { - summary: title, - organization: 'Class from Skedge', - start: { - dateTime: `2025-${semester.firstMonthOfSemester}-${day2}T${startTime}:00-06:00`, - timeZone: 'America/Chicago', - }, - end: { - dateTime: `2025-${semester.firstMonthOfSemester}-${day2}T${endTime}:00-06:00`, - timeZone: 'America/Chicago', - }, - recurrence: [ - `RRULE:FREQ=WEEKLY;UNTIL=2025${semester.lastMonthOfSemester}${semester.lastFridayOfSemester}T170000Z`, + `RRULE:FREQ=WEEKLY;UNTIL=2025${semester.lastMonthOfSemester}${semester.lastFridayOfSemester}T170000Z;BYDAY=${days}`, ], pid: 0, }; @@ -230,13 +224,6 @@ export async function scrapeCourseData() { event: event1, token: tokenStored.token, }); - if (event2) { - chrome.runtime.sendMessage({ - name: 'insertEventToGoogleCalendar', - event: event2, - token: tokenStored.token, - }); - } alert(`Added ${event1.summary} to calendar.`); }; courseRowCells.insertBefore(newButton, courseRowCells.children[1]);