UNPKG

@heknon/node-webtop

Version:

A Backend for an unofficial WebTop (SmartSchool - Israel) API.

29 lines (28 loc) 1.24 kB
"use strict"; 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; };