aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/getMeetingpointData.js83
-rw-r--r--lib/getURLOfUsers.js45
2 files changed, 0 insertions, 128 deletions
diff --git a/lib/getMeetingpointData.js b/lib/getMeetingpointData.js
deleted file mode 100644
index 94cf36c..0000000
--- a/lib/getMeetingpointData.js
+++ /dev/null
@@ -1,83 +0,0 @@
-'use strict'
-
-const Promise = require('bluebird')
-const cheerio = require('cheerio')
-const _ = require('lodash')
-const request = Promise.promisify(require('request'))
-
-let meetingpointData
-let lastUpdate
-
-function getUsers (page) {
- const script = page('script').eq(1).text()
-
- const regexs = [/var classes = \[(.+)\];/, /var teachers = \[(.+)\];/, /var rooms = \[(.+)\];/, /var students = \[(.+)\];/]
- const items = regexs.map(function (regex) {
- return script.match(regex)[1].split(',').map(function (item) {
- return item.replace(/"/g, '')
- })
- })
-
- return []
- .concat(items[0].map(function (item, index) {
- return {
- type: 'c',
- value: item,
- index: index
- }
- }))
- .concat(items[1].map(function (item, index) {
- return {
- type: 't',
- value: item,
- index: index
- }
- }))
- .concat(items[2].map(function (item, index) {
- return {
- type: 'r',
- value: item,
- index: index
- }
- }))
- .concat(items[3].map(function (item, index) {
- return {
- type: 's',
- value: item,
- index: index
- }
- }))
-}
-
-function getValidWeekNumbers(page) {
- const weekSelector = page('select[name="week"]');
- const weekNumbers = _.map(weekSelector.children(), option => parseInt(option.attribs.value))
-
- return weekNumbers;
-}
-
-function requestData() {
- lastUpdate = new Date()
-
- return request(`http://www.meetingpointmco.nl/Roosters-AL/doc/dagroosters/frames/navbar.htm`, { timeout: 5000 }).then((response) => {
- const page = cheerio.load(response.body)
- const users = getUsers(page)
- const validWeekNumbers = getValidWeekNumbers(page)
-
- meetingpointData = { users, validWeekNumbers }
-
- return meetingpointData
- })
-}
-
-function getMeetingpointData () {
- if (lastUpdate == null || new Date() - lastUpdate > 10 * 60 * 1000) { // 10 minutes
- return requestData()
- } else if (!meetingpointData) {
- return Promise.reject()
- } else {
- return Promise.resolve(meetingpointData)
- }
-}
-
-module.exports = getMeetingpointData
diff --git a/lib/getURLOfUsers.js b/lib/getURLOfUsers.js
deleted file mode 100644
index 8590ee4..0000000
--- a/lib/getURLOfUsers.js
+++ /dev/null
@@ -1,45 +0,0 @@
-const leftPad = require('left-pad')
-
-// copied from http://www.meetingpointmco.nl/Roosters-AL/doc/dagroosters/untisscripts.js,
-// were using the same code as they do to be sure that we always get the same
-// week number.
-function getWeek () {
- // Create a copy of this date object
- var target = new Date()
-
- // ISO week date weeks start on monday
- // so correct the day number
- var dayNr = (target.getDay() + 6) % 7
-
- // ISO 8601 states that week 1 is the week
- // with the first thursday of that year.
- // Set the target date to the thursday in the target week
- target.setDate(target.getDate() - dayNr + 3)
-
- // Store the millisecond value of the target date
- var firstThursday = target.valueOf()
-
- // Set the target to the first thursday of the year
- // First set the target to january first
- target.setMonth(0, 1)
- // Not a thursday? Correct the date to the next thursday
- if (target.getDay() !== 4) {
- target.setMonth(0, 1 + ((4 - target.getDay()) + 7) % 7)
- }
-
- // The weeknumber is the number of weeks between the
- // first thursday of the year and the thursday in the target week
- return 1 + Math.ceil((firstThursday - target) / 604800000) // 604800000 = 7 * 24 * 3600 * 1000
-}
-
-function getURLOfUsers (weekOffset, type, id) {
- return `http://www.meetingpointmco.nl/Roosters-AL/doc/dagroosters/` +
- `${getWeek() + weekOffset}/${type}/${type}${leftPad(id, 5, '0')}.htm`
-}
-
-module.exports = getURLOfUsers
-
-module.exports.CLASS = 'c'
-module.exports.TEACHERS = 't'
-module.exports.ROOMS = 'r'
-module.exports.STUDENTS = 's'