Add course schedules for ISF and ITZS programs for 2026 and 2024 sessions
- Created new snapshot files for ISF credits and daily schedules for the 26-АРХ and 26-ПГС programs. - Added summer 2026 and winter 2024 exam schedules for the 23-ИТзс program, detailing lectures, labs, and consultations.
This commit is contained in:
@@ -20,7 +20,7 @@ const MONTHS = [
|
||||
const DAY_MS = 86400000;
|
||||
|
||||
/**
|
||||
* "6-13н", "1-4,6-11н.", "с 3н.", "со 2 нед.", "1-8,10-17" → [[6, 13]], [[1, 4], [6, 11]], [[3, null]]…
|
||||
* "6-13н", "1-4,6-11н.", "1-4н.;6-12н.", "с 3н.", "со 2 нед.", "1-8,10-17" → [[6, 13]], [[1, 4], [6, 11]], [[3, null]]…
|
||||
* Returns null when the text is empty or not a pure week list.
|
||||
*/
|
||||
export function parseWeekRanges(condition) {
|
||||
@@ -28,10 +28,12 @@ export function parseWeekRanges(condition) {
|
||||
if (!text) return null;
|
||||
const from = text.match(/^(?:с|со)\s*(\d{1,2})\s*(?:н(?:ед)?)?[.\s]*$/);
|
||||
if (from) return [[Number(from[1]), null]];
|
||||
// "с 4-16н" reads as an ordinary range.
|
||||
// "с 4-16н" reads as an ordinary range; "1-4н.;6-12н." and "2-5 н., 10-17 н." as one list.
|
||||
text = text
|
||||
.replace(/^(?:с|со)\s+/, "")
|
||||
.replace(/\s*н(?:ед)?[.\s]*$/, "")
|
||||
.replace(/\s*н(?:ед)?\.?\s*(?=[;,])/g, "")
|
||||
.replace(/\s*;\s*/g, ",")
|
||||
.trim();
|
||||
if (!/^\d{1,2}(?:\s*[-–,]\s*\d{1,2})*$/.test(text)) return null;
|
||||
const ranges = [];
|
||||
|
||||
Reference in New Issue
Block a user