diff --git a/calendar.test.js b/calendar.test.js index 7b15de9..a3f1aed 100644 --- a/calendar.test.js +++ b/calendar.test.js @@ -36,6 +36,10 @@ describe('Calendar Merging API', () => { return path.join(__dirname, TEST_CALENDARS_DIR, filename); }; + const loadExpectedOutput = (filename) => { + return fs.readFileSync(path.join(EXPECTED_OUTPUTS_DIR, filename), 'utf8'); + }; + test('Merge date-based calendar', async () => { const response = await request(server) .post('/merge') diff --git a/temp_test_calendar/Date_Based_Calendar.ics b/temp_test_calendar/Date_Based_Calendar.ics new file mode 100644 index 0000000..8ccad47 --- /dev/null +++ b/temp_test_calendar/Date_Based_Calendar.ics @@ -0,0 +1,336 @@ +BEGIN:VCALENDAR +VERSION:2.0 +PRODID:-//sebbo.net//ical-generator//EN +NAME:Date Based Calendar +X-WR-CALNAME:Date Based Calendar +BEGIN:VEVENT +UID:inx8@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20230219 +DTEND;VALUE=DATE:20230224 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY:Ferien_Bayern_2023 Winterferien 2023 Bayern +END:VEVENT +BEGIN:VEVENT +UID:x4p6@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20230402 +DTEND;VALUE=DATE:20230415 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY:Ferien_Bayern_2023 Osterferien 2023 Bayern +END:VEVENT +BEGIN:VEVENT +UID:ffjf@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20230529 +DTEND;VALUE=DATE:20230609 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY:Ferien_Bayern_2023 Pfingstferien 2023 Bayern +END:VEVENT +BEGIN:VEVENT +UID:dazk@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20230730 +DTEND;VALUE=DATE:20230911 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY:Ferien_Bayern_2023 Sommerferien 2023 Bayern +END:VEVENT +BEGIN:VEVENT +UID:tqry@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20231029 +DTEND;VALUE=DATE:20231103 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY:Ferien_Bayern_2023 Herbstferien 2023 Bayern +END:VEVENT +BEGIN:VEVENT +UID:o8nw@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20231121 +DTEND;VALUE=DATE:20231122 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY:Ferien_Bayern_2023 Herbstferien 2023 Bayern +END:VEVENT +BEGIN:VEVENT +UID:4cmg@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20231222 +DTEND;VALUE=DATE:20240105 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY:Ferien_Bayern_2023 Weihnachtsferien 2023 Bayern +END:VEVENT +BEGIN:VEVENT +UID:lc6g@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20231231 +DTEND;VALUE=DATE:20231231 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY:US_holidays New Year's Day +END:VEVENT +BEGIN:VEVENT +UID:4iq1@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20240114 +DTEND;VALUE=DATE:20240114 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY:US_holidays M L King Day +END:VEVENT +BEGIN:VEVENT +UID:fdhn@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20240218 +DTEND;VALUE=DATE:20240218 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY:US_holidays Presidents' Day +END:VEVENT +BEGIN:VEVENT +UID:aa7e@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20240328 +DTEND;VALUE=DATE:20240328 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY:US_holidays Good Friday +END:VEVENT +BEGIN:VEVENT +UID:l4wg@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20240330 +DTEND;VALUE=DATE:20240330 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY:US_holidays Easter Sunday +END:VEVENT +BEGIN:VEVENT +UID:d6sk@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20240526 +DTEND;VALUE=DATE:20240526 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY:US_holidays Memorial Day +END:VEVENT +BEGIN:VEVENT +UID:6cb0@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20240618 +DTEND;VALUE=DATE:20240618 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY:US_holidays Juneteenth +END:VEVENT +BEGIN:VEVENT +UID:j0u6@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20240703 +DTEND;VALUE=DATE:20240703 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY:US_holidays Independence Day +END:VEVENT +BEGIN:VEVENT +UID:4zxl@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20240901 +DTEND;VALUE=DATE:20240901 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY:US_holidays Labor Day +END:VEVENT +BEGIN:VEVENT +UID:s66c@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20241013 +DTEND;VALUE=DATE:20241013 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY:US_holidays Columbus Day +END:VEVENT +BEGIN:VEVENT +UID:02ro@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20241110 +DTEND;VALUE=DATE:20241110 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY:US_holidays Veterans Day +END:VEVENT +BEGIN:VEVENT +UID:zpq0@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20241127 +DTEND;VALUE=DATE:20241127 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY:US_holidays Thanksgiving Day +END:VEVENT +BEGIN:VEVENT +UID:p8nj@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20241224 +DTEND;VALUE=DATE:20241224 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY:US_holidays Christmas +END:VEVENT +BEGIN:VEVENT +UID:moif@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20241231 +DTEND;VALUE=DATE:20241231 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY:US_holidays New Year's Day +END:VEVENT +BEGIN:VEVENT +UID:idam@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20250119 +DTEND;VALUE=DATE:20250119 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY:US_holidays M L King Day +END:VEVENT +BEGIN:VEVENT +UID:hhyv@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20250216 +DTEND;VALUE=DATE:20250216 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY:US_holidays Presidents' Day +END:VEVENT +BEGIN:VEVENT +UID:rbcm@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20250417 +DTEND;VALUE=DATE:20250417 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY:US_holidays Good Friday +END:VEVENT +BEGIN:VEVENT +UID:0yq5@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20250419 +DTEND;VALUE=DATE:20250419 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY:US_holidays Easter Sunday +END:VEVENT +BEGIN:VEVENT +UID:j15g@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20250525 +DTEND;VALUE=DATE:20250525 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY:US_holidays Memorial Day +END:VEVENT +BEGIN:VEVENT +UID:yb2g@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20250618 +DTEND;VALUE=DATE:20250618 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY:US_holidays Juneteenth +END:VEVENT +BEGIN:VEVENT +UID:ozwk@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20250703 +DTEND;VALUE=DATE:20250703 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY:US_holidays Independence Day +END:VEVENT +BEGIN:VEVENT +UID:jukq@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20250831 +DTEND;VALUE=DATE:20250831 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY:US_holidays Labor Day +END:VEVENT +BEGIN:VEVENT +UID:8xlu@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20251012 +DTEND;VALUE=DATE:20251012 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY:US_holidays Columbus Day +END:VEVENT +BEGIN:VEVENT +UID:baz0@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20251110 +DTEND;VALUE=DATE:20251110 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY:US_holidays Veterans Day +END:VEVENT +BEGIN:VEVENT +UID:h6o0@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20251126 +DTEND;VALUE=DATE:20251126 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY:US_holidays Thanksgiving Day +END:VEVENT +BEGIN:VEVENT +UID:r08d@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20251224 +DTEND;VALUE=DATE:20251224 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY:US_holidays Christmas +END:VEVENT +END:VCALENDAR \ No newline at end of file diff --git a/temp_test_calendar/Date_Based_Calendar.json b/temp_test_calendar/Date_Based_Calendar.json new file mode 100644 index 0000000..cdf1c35 --- /dev/null +++ b/temp_test_calendar/Date_Based_Calendar.json @@ -0,0 +1,16 @@ +{ + "id": "Date_Based_Calendar", + "linkGroupName": "Date Based Calendar", + "calendars": [ + { + "url": "C:\\Users\\user\\OneDrive\\Desktop\\Internship tasks\\final calmerg\\test_calendars\\ferien_bayern_2023.ics", + "prefix": "Ferien_Bayern_2023", + "override": false + }, + { + "url": "C:\\Users\\user\\OneDrive\\Desktop\\Internship tasks\\final calmerg\\test_calendars\\US_Holidays.ics", + "prefix": "US_holidays", + "override": false + } + ] +} \ No newline at end of file diff --git a/temp_test_calendar/No_Prefix_Calendar.ics b/temp_test_calendar/No_Prefix_Calendar.ics new file mode 100644 index 0000000..984c7e2 --- /dev/null +++ b/temp_test_calendar/No_Prefix_Calendar.ics @@ -0,0 +1,266 @@ +BEGIN:VCALENDAR +VERSION:2.0 +PRODID:-//sebbo.net//ical-generator//EN +NAME:No Prefix Calendar +X-WR-CALNAME:No Prefix Calendar +BEGIN:VEVENT +UID:xp90@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20231231 +DTEND;VALUE=DATE:20231231 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY: New Year's Day +END:VEVENT +BEGIN:VEVENT +UID:y33c@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20240101 +DTEND;VALUE=DATE:20240101 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY: New Year's Day Holiday +END:VEVENT +BEGIN:VEVENT +UID:tk38@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20240102 +DTEND;VALUE=DATE:20240102 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY: New Year's Day Holiday +END:VEVENT +BEGIN:VEVENT +UID:40st@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20240103 +DTEND;VALUE=DATE:20240103 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY: New Year's Day Holiday +END:VEVENT +BEGIN:VEVENT +UID:3apc@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20240104 +DTEND;VALUE=DATE:20240104 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY: New Year's Day Holiday +END:VEVENT +BEGIN:VEVENT +UID:9of5@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20240106 +DTEND;VALUE=DATE:20240106 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY: Orthodox Christmas +END:VEVENT +BEGIN:VEVENT +UID:wg5n@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20240107 +DTEND;VALUE=DATE:20240107 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY: Orthodox Christmas Holiday +END:VEVENT +BEGIN:VEVENT +UID:lzkv@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20240222 +DTEND;VALUE=DATE:20240222 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY: Defender of the Fatherland +END:VEVENT +BEGIN:VEVENT +UID:1qvm@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20240307 +DTEND;VALUE=DATE:20240307 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY: Intl. Women's Day +END:VEVENT +BEGIN:VEVENT +UID:pdp5@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20240430 +DTEND;VALUE=DATE:20240430 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY: Spring and Labor Day +END:VEVENT +BEGIN:VEVENT +UID:q8xc@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20240508 +DTEND;VALUE=DATE:20240508 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY: Victory Day +END:VEVENT +BEGIN:VEVENT +UID:tkix@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20240611 +DTEND;VALUE=DATE:20240611 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY: Russia Day +END:VEVENT +BEGIN:VEVENT +UID:xhej@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20241103 +DTEND;VALUE=DATE:20241103 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY: Civil Unity Day +END:VEVENT +BEGIN:VEVENT +UID:by0h@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20241231 +DTEND;VALUE=DATE:20241231 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY: New Year's Day +END:VEVENT +BEGIN:VEVENT +UID:zldb@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20250101 +DTEND;VALUE=DATE:20250101 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY: New Year's Day Holiday +END:VEVENT +BEGIN:VEVENT +UID:zwyw@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20250102 +DTEND;VALUE=DATE:20250102 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY: New Year's Day Holiday +END:VEVENT +BEGIN:VEVENT +UID:bfof@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20250103 +DTEND;VALUE=DATE:20250103 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY: New Year's Day Holiday +END:VEVENT +BEGIN:VEVENT +UID:xpm1@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20250104 +DTEND;VALUE=DATE:20250104 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY: New Year's Day Holiday +END:VEVENT +BEGIN:VEVENT +UID:2xkq@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20250106 +DTEND;VALUE=DATE:20250106 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY: Orthodox Christmas +END:VEVENT +BEGIN:VEVENT +UID:qfc3@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20250107 +DTEND;VALUE=DATE:20250107 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY: Orthodox Christmas Holiday +END:VEVENT +BEGIN:VEVENT +UID:ppv4@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20250223 +DTEND;VALUE=DATE:20250223 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY: Defender of the Fatherland +END:VEVENT +BEGIN:VEVENT +UID:lsi7@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20250309 +DTEND;VALUE=DATE:20250309 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY: Intl. Women's Day +END:VEVENT +BEGIN:VEVENT +UID:u001@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20250430 +DTEND;VALUE=DATE:20250430 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY: Spring and Labor Day +END:VEVENT +BEGIN:VEVENT +UID:ah8i@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20250508 +DTEND;VALUE=DATE:20250508 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY: Victory Day +END:VEVENT +BEGIN:VEVENT +UID:lksk@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20250611 +DTEND;VALUE=DATE:20250611 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY: Russia Day +END:VEVENT +BEGIN:VEVENT +UID:r7ue@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20251103 +DTEND;VALUE=DATE:20251103 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY: Civil Unity Day +END:VEVENT +END:VCALENDAR \ No newline at end of file diff --git a/temp_test_calendar/No_Prefix_Calendar.json b/temp_test_calendar/No_Prefix_Calendar.json new file mode 100644 index 0000000..798f7a9 --- /dev/null +++ b/temp_test_calendar/No_Prefix_Calendar.json @@ -0,0 +1,11 @@ +{ + "id": "No_Prefix_Calendar", + "linkGroupName": "No Prefix Calendar", + "calendars": [ + { + "url": "C:\\Users\\user\\OneDrive\\Desktop\\Internship tasks\\final calmerg\\test_calendars\\San_Francisco_Public_Holidays.ics", + "prefix": "", + "override": false + } + ] +} \ No newline at end of file diff --git a/temp_test_calendar/Override_Calendar.ics b/temp_test_calendar/Override_Calendar.ics new file mode 100644 index 0000000..9d15f3a --- /dev/null +++ b/temp_test_calendar/Override_Calendar.ics @@ -0,0 +1,266 @@ +BEGIN:VCALENDAR +VERSION:2.0 +PRODID:-//sebbo.net//ical-generator//EN +NAME:Override Calendar +X-WR-CALNAME:Override Calendar +BEGIN:VEVENT +UID:szal@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20231231 +DTEND;VALUE=DATE:20231231 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY:Override Event +END:VEVENT +BEGIN:VEVENT +UID:tgm8@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20240101 +DTEND;VALUE=DATE:20240101 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY:Override Event +END:VEVENT +BEGIN:VEVENT +UID:rhq7@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20240102 +DTEND;VALUE=DATE:20240102 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY:Override Event +END:VEVENT +BEGIN:VEVENT +UID:gpjr@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20240103 +DTEND;VALUE=DATE:20240103 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY:Override Event +END:VEVENT +BEGIN:VEVENT +UID:h6te@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20240104 +DTEND;VALUE=DATE:20240104 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY:Override Event +END:VEVENT +BEGIN:VEVENT +UID:y5cu@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20240106 +DTEND;VALUE=DATE:20240106 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY:Override Event +END:VEVENT +BEGIN:VEVENT +UID:74kr@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20240107 +DTEND;VALUE=DATE:20240107 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY:Override Event +END:VEVENT +BEGIN:VEVENT +UID:hwm8@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20240222 +DTEND;VALUE=DATE:20240222 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY:Override Event +END:VEVENT +BEGIN:VEVENT +UID:5e0j@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20240307 +DTEND;VALUE=DATE:20240307 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY:Override Event +END:VEVENT +BEGIN:VEVENT +UID:a53b@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20240430 +DTEND;VALUE=DATE:20240430 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY:Override Event +END:VEVENT +BEGIN:VEVENT +UID:67cr@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20240508 +DTEND;VALUE=DATE:20240508 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY:Override Event +END:VEVENT +BEGIN:VEVENT +UID:qzh7@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20240611 +DTEND;VALUE=DATE:20240611 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY:Override Event +END:VEVENT +BEGIN:VEVENT +UID:kiuz@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20241103 +DTEND;VALUE=DATE:20241103 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY:Override Event +END:VEVENT +BEGIN:VEVENT +UID:cjkp@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20241231 +DTEND;VALUE=DATE:20241231 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY:Override Event +END:VEVENT +BEGIN:VEVENT +UID:ztd6@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20250101 +DTEND;VALUE=DATE:20250101 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY:Override Event +END:VEVENT +BEGIN:VEVENT +UID:02nl@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20250102 +DTEND;VALUE=DATE:20250102 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY:Override Event +END:VEVENT +BEGIN:VEVENT +UID:ir7v@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20250103 +DTEND;VALUE=DATE:20250103 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY:Override Event +END:VEVENT +BEGIN:VEVENT +UID:gypv@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20250104 +DTEND;VALUE=DATE:20250104 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY:Override Event +END:VEVENT +BEGIN:VEVENT +UID:cfsf@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20250106 +DTEND;VALUE=DATE:20250106 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY:Override Event +END:VEVENT +BEGIN:VEVENT +UID:eqfe@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20250107 +DTEND;VALUE=DATE:20250107 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY:Override Event +END:VEVENT +BEGIN:VEVENT +UID:qxbb@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20250223 +DTEND;VALUE=DATE:20250223 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY:Override Event +END:VEVENT +BEGIN:VEVENT +UID:l9f2@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20250309 +DTEND;VALUE=DATE:20250309 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY:Override Event +END:VEVENT +BEGIN:VEVENT +UID:vqz2@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20250430 +DTEND;VALUE=DATE:20250430 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY:Override Event +END:VEVENT +BEGIN:VEVENT +UID:7r9i@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20250508 +DTEND;VALUE=DATE:20250508 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY:Override Event +END:VEVENT +BEGIN:VEVENT +UID:t6gl@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20250611 +DTEND;VALUE=DATE:20250611 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY:Override Event +END:VEVENT +BEGIN:VEVENT +UID:98hx@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART;VALUE=DATE:20251103 +DTEND;VALUE=DATE:20251103 +X-MICROSOFT-CDO-ALLDAYEVENT:TRUE +X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE +SUMMARY:Override Event +END:VEVENT +END:VCALENDAR \ No newline at end of file diff --git a/temp_test_calendar/Override_Calendar.json b/temp_test_calendar/Override_Calendar.json new file mode 100644 index 0000000..f1eed77 --- /dev/null +++ b/temp_test_calendar/Override_Calendar.json @@ -0,0 +1,11 @@ +{ + "id": "Override_Calendar", + "linkGroupName": "Override Calendar", + "calendars": [ + { + "url": "C:\\Users\\user\\OneDrive\\Desktop\\Internship tasks\\final calmerg\\test_calendars\\San_Francisco_Public_Holidays.ics", + "prefix": "Override Event", + "override": true + } + ] +} \ No newline at end of file diff --git a/temp_test_calendar/Time_Based_Calendar.ics b/temp_test_calendar/Time_Based_Calendar.ics new file mode 100644 index 0000000..7978de2 --- /dev/null +++ b/temp_test_calendar/Time_Based_Calendar.ics @@ -0,0 +1,46 @@ +BEGIN:VCALENDAR +VERSION:2.0 +PRODID:-//sebbo.net//ical-generator//EN +NAME:Time Based Calendar +X-WR-CALNAME:Time Based Calendar +BEGIN:VEVENT +UID:eb5u@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART:20241001T183000Z +DTEND:20241001T193000Z +SUMMARY:other_work calmerge +END:VEVENT +BEGIN:VEVENT +UID:yu3i@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART:20241010T173000Z +DTEND:20241010T183000Z +SUMMARY:other_work to do +END:VEVENT +BEGIN:VEVENT +UID:xnpj@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART:20240930T113000Z +DTEND:20240930T123000Z +SUMMARY:work other work +END:VEVENT +BEGIN:VEVENT +UID:an2b@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART:20241003T190000Z +DTEND:20241003T200000Z +SUMMARY:work progodessey +END:VEVENT +BEGIN:VEVENT +UID:ywsc@Ryan-jr +SEQUENCE:0 +DTSTAMP:20241105T125617Z +DTSTART:20241009T173000Z +DTEND:20241009T183000Z +SUMMARY:work do +END:VEVENT +END:VCALENDAR \ No newline at end of file diff --git a/temp_test_calendar/Time_Based_Calendar.json b/temp_test_calendar/Time_Based_Calendar.json new file mode 100644 index 0000000..321646e --- /dev/null +++ b/temp_test_calendar/Time_Based_Calendar.json @@ -0,0 +1,16 @@ +{ + "id": "Time_Based_Calendar", + "linkGroupName": "Time Based Calendar", + "calendars": [ + { + "url": "C:\\Users\\user\\OneDrive\\Desktop\\Internship tasks\\final calmerg\\test_calendars\\other_work.ics", + "prefix": "other_work", + "override": false + }, + { + "url": "C:\\Users\\user\\OneDrive\\Desktop\\Internship tasks\\final calmerg\\test_calendars\\work.ics", + "prefix": "work", + "override": false + } + ] +} \ No newline at end of file