UNPKG

@heknon/node-webtop

Version:

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

34 lines (21 loc) 1.02 kB
import { load as cheerioLoad } from 'cheerio'; import { extractDateFromString, extractSchoolHoursFromString, stripHTML } from '../utils'; import { TimeTableChange } from './DataObjects'; export const constructTimeTableChanges = (html: string): TimeTableChange[] => { const $ = cheerioLoad(html); const changesHtml = $('#changesData > tr'); const changes = Array<TimeTableChange>(); changesHtml.each((changeNum, changeHtml) => { const change = {} as TimeTableChange; const details = Array<string>(); change.date = extractDateFromString($(changeHtml.children[0]).text()); change.schoolHours = extractSchoolHoursFromString($(changeHtml.children[1]).text()); changeHtml.children[2].children.forEach((e, i) => { const txt = $(e).text(); if (txt.length !== 0) details.push(txt); }); change.details = details.join(' ') changes.push(change); }); return changes; }