Begin frontend
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
const request = require('request');
|
||||
const cheerio = require('cheerio');
|
||||
const express = require('express')
|
||||
const app = express()
|
||||
|
||||
app.use((req, res, next) => {
|
||||
res.header('Access-Control-Allow-Origin', '*');
|
||||
res.header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept');
|
||||
next();
|
||||
});
|
||||
|
||||
app.use('/', express.static('dist'))
|
||||
app.use('/psboard', express.static('dist/shit/psboard.html'))
|
||||
|
||||
app.get('/hello', (req, res) => {
|
||||
res.send('Hello World!')
|
||||
})
|
||||
|
||||
app.get('/api/data/psboard', (req, res) => {
|
||||
request('http://localhost:3000/psboard', (error, response, html) => {
|
||||
if (!error && response.statusCode == 200) {
|
||||
const $ = cheerio.load(html);
|
||||
let psboard = [];
|
||||
|
||||
$('.F0XO1GC-p-w').children().each((i, elem) => {
|
||||
psboard[i] = {
|
||||
subject: $(elem).find('.F0XO1GC-p-Q').text(),
|
||||
author: $(elem).find('.F0XO1GC-rb-b').text(),
|
||||
last_update: $(elem).find('.F0XO1GC-rb-g').children().attr('title'),
|
||||
number_of_posts: $(elem).find('.F0XO1GC-rb-r').eq(0).text(),
|
||||
number_of_views: $(elem).find('.F0XO1GC-rb-r').eq(1).text(),
|
||||
user_pic: $(elem).find('.gwt-Image').attr('src')
|
||||
}
|
||||
});
|
||||
|
||||
console.log('sending psboard');
|
||||
res.setHeader('Content-Type', 'application/json');
|
||||
res.send(psboard);
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
app.get('/api/data/classes', (req, res) => {
|
||||
request('https://my.protospace.ca/school', (error, response, html) => {
|
||||
if (!error && response.statusCode == 200) {
|
||||
const $ = cheerio.load(html);
|
||||
let classes = [];
|
||||
|
||||
$('table.grid tbody tr').each((i, elem) => {
|
||||
classes[i] = {
|
||||
subject: $(elem).children().eq(0).text(),
|
||||
date: $(elem).children().eq(2).text(),
|
||||
available: $(elem).children().eq(6).text()
|
||||
}
|
||||
});
|
||||
|
||||
res.setHeader('Content-Type', 'application/json');
|
||||
res.send(classes);
|
||||
}
|
||||
});
|
||||
})
|
||||
|
||||
|
||||
app.listen(3000, function () {
|
||||
console.log('Example app listening on port 3000!')
|
||||
})
|
||||
Reference in New Issue
Block a user