aboutsummaryrefslogtreecommitdiff
path: root/routes
diff options
context:
space:
mode:
authorNoah Loomans <noahloomans@gmail.com>2016-09-09 14:30:04 +0200
committerNoah Loomans <noahloomans@gmail.com>2016-09-09 14:30:04 +0200
commit29f35540bac3f3c8ad0043d03758142267bcef9a (patch)
tree36fcd51844399aec80f2130b563956f8389b9823 /routes
parent06e00475724bbcf0c99a1c8a430b97103822360b (diff)
send data directly
Diffstat (limited to 'routes')
-rw-r--r--routes/getUserIndex.js125
-rw-r--r--routes/index.js7
2 files changed, 4 insertions, 128 deletions
diff --git a/routes/getUserIndex.js b/routes/getUserIndex.js
deleted file mode 100644
index 46db236..0000000
--- a/routes/getUserIndex.js
+++ /dev/null
@@ -1,125 +0,0 @@
-'use strict'
-
-const express = require('express')
-const router = express.Router()
-const Promise = require('bluebird')
-const cheerio = require('cheerio')
-const request = Promise.promisify(require('request'))
-const getURLOfUsers = require('../lib/getURLOfUsers')
-const encoding = require('encoding')
-
-// function moveItem (array, oldIndex, newIndex) {
-// while (oldIndex < 0) {
-// oldIndex += array.length
-// }
-// while (newIndex < 0) {
-// newIndex += array.length
-// }
-// if (newIndex >= array.length) {
-// var k = newIndex - array.length
-// while ((k--) + 1) {
-// array.push(undefined)
-// }
-// }
-// array.splice(newIndex, 0, array.splice(oldIndex, 1)[0])
-// return array
-// }
-
-function getStandardUsers () {
- return new Promise(function (resolve, reject) {
- request(`http://www.meetingpointmco.nl/Roosters-AL/doc/dagroosters/frames/navbar.htm`)
- .then(function (page) {
- page = page.body
-
- const $ = cheerio.load(page)
- const $script = $('script').eq(1)
- const scriptText = $script.text()
-
- const regexs = [/var classes = \[(.+)\];/, /var teachers = \[(.+)\];/, /var rooms = \[(.+)\];/, /var students = \[(.+)\];/]
- const items = regexs.map(function (regex) {
- return scriptText.match(regex)[1].split(',').map(function (item) {
- return item.replace(/"/g, '')
- })
- })
-
- resolve([]
- .concat(items[0].map(function (item, index) {
- return {
- type: 'c',
- value: item,
- index: index,
- other: '',
- isID: true
- }
- }))
- .concat(items[1].map(function (item, index) {
- return {
- type: 't',
- value: item,
- index: index,
- other: '',
- isID: true
- }
- }))
- .concat(items[2].map(function (item, index) {
- return {
- type: 'r',
- value: item,
- index: index,
- other: '',
- isID: true
- }
- }))
- .concat(items[3].map(function (item, index) {
- return {
- type: 's',
- value: item,
- index: index,
- other: '',
- isID: true
- }
- })))
- })
- })
-}
-
-function addExtendedUsers (standardUsers) {
- const standardUsersLength = standardUsers.length
- for (let i = 0; i < standardUsersLength; i++) {
- // for (let i = 200; i < 220; i++) {
- request(getURLOfUsers(0, standardUsers[i].type, standardUsers[i].index + 1))
- .then(page => page.body)
- .then(page => encoding.convert(page, 'UTF-8', 'Windows-1252'))
- .then(function (page) {
- const $ = cheerio.load(page)
- let extendedName = $('font').eq(2).text().trim()
-
- if (standardUsers[i].type === 's' || standardUsers[i].type === 't') {
- extendedName = extendedName.split(/\s+/).reverse().join(' ')
- }
-
- if (extendedName.indexOf(standardUsers[i].value) === -1 &&
- extendedName.indexOf(standardUsers[i].value.substring(2, standardUsers[i].value.length))) {
- console.log(`added ${extendedName}: ${standardUsers[i].value}`)
- standardUsers[i].other = extendedName
- standardUsers.push({
- type: standardUsers[i].type,
- index: standardUsers[i].index,
- value: extendedName,
- other: standardUsers[i].value,
- isID: false
- })
- }
- })
- }
-}
-
-getStandardUsers().then(users => {
- addExtendedUsers(users)
-
- router.get('/', function (req, res, next) {
- res.json(users)
- })
-})
-
-module.exports = router
diff --git a/routes/index.js b/routes/index.js
index 72068ff..f30abb5 100644
--- a/routes/index.js
+++ b/routes/index.js
@@ -1,9 +1,10 @@
-var express = require('express')
-var router = express.Router()
+const express = require('express')
+const router = express.Router()
+const users = require('../lib/getUserIndex')
/* GET home page. */
router.get('/', function (req, res, next) {
- res.render('index')
+ res.render('index', { users: users.users })
})
module.exports = router