@heknon/node-webtop
Version:
A Backend for an unofficial WebTop (SmartSchool - Israel) API.
29 lines (28 loc) • 1.24 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const cheerio_1 = require("cheerio");
const utils_1 = require("../utils");
exports.constructTestsLeft = (html) => {
const $ = cheerio_1.load(html);
const examsHtml = $('#examsData > tr');
const tests = Array();
examsHtml.each((examNum, examHtml) => {
const test = {};
const studyGroupsStr = $(examHtml.children[4]).text();
const studyGroups = studyGroupsStr.match(/([^,]+)/g);
const room = $(examHtml.children[5]).text();
test.date = utils_1.extractDateFromString($(examHtml.children[0]).text());
test.schoolHours = utils_1.extractSchoolHoursFromString($(examHtml.children[1]).text());
test.name = $(examHtml.children[2]).text();
test.type = $(examHtml.children[3]).text();
test.subject = {
teacherName: studyGroups[0],
subjectName: studyGroups[1].trimLeft(),
};
test.classesWithTest = utils_1.extractClassesFromString(studyGroups[2]);
if (room.trim() !== '')
test.room = utils_1.isStringNumber(room) ? Number.parseInt(room) : room;
tests.push(test);
});
return tests;
};