Merge branch 'development' into 'svelte-updates'
# Conflicts: # dist/build/bundle.css # dist/build/bundle.js
This commit is contained in:
commit
285e1054f8
@ -1,4 +1,7 @@
|
|||||||
const http = require('http'), request = require('request'), cheerio = require('cheerio');
|
const http = require('http');
|
||||||
|
const request = require('request');
|
||||||
|
const cheerio = require('cheerio');
|
||||||
|
const logger = require('log4js').getLogger('Events');
|
||||||
|
|
||||||
const eventTimer = 0;
|
const eventTimer = 0;
|
||||||
const eventCache = {
|
const eventCache = {
|
||||||
@ -12,11 +15,11 @@ const eventCache = {
|
|||||||
const cinemas = [{ 'id': 'cwr', 'url': 'https://film.list.co.uk/cinema/14982-cineworld-renfrew-street/' },
|
const cinemas = [{ 'id': 'cwr', 'url': 'https://film.list.co.uk/cinema/14982-cineworld-renfrew-street/' },
|
||||||
{ 'id': 'gsc', 'url': 'https://film.list.co.uk/cinema/13590-cineworld-glasgow-science-centre/' },
|
{ 'id': 'gsc', 'url': 'https://film.list.co.uk/cinema/13590-cineworld-glasgow-science-centre/' },
|
||||||
{ 'id': 'pho', 'url': 'https://film.list.co.uk/cinema/12500-showcase-cinema-paisley/' },
|
{ 'id': 'pho', 'url': 'https://film.list.co.uk/cinema/12500-showcase-cinema-paisley/' },
|
||||||
{'id':'evr', 'url':'https://film.list.co.uk/cinema/111845-everyman-glasgow/'}];
|
{ 'id':'evr', 'url':'https://film.list.co.uk/cinema/111845-everyman-glasgow/' }];
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
'getEvents': function (req, res) {
|
'getEvents': function (req, res) {
|
||||||
console.log('Getting events...');
|
logger.debug('Getting events...');
|
||||||
const j = [], url = 'https://www.list.co.uk/events/days-out/when:this%20weekend/location:Dumbarton(55.9460,-4.5556)/distance:20/';
|
const j = [], url = 'https://www.list.co.uk/events/days-out/when:this%20weekend/location:Dumbarton(55.9460,-4.5556)/distance:20/';
|
||||||
|
|
||||||
const now = new Date();
|
const now = new Date();
|
||||||
@ -26,8 +29,8 @@ module.exports = {
|
|||||||
if (err)
|
if (err)
|
||||||
throw err;
|
throw err;
|
||||||
$ = cheerio.load(body);
|
$ = cheerio.load(body);
|
||||||
// console.log($);
|
// logger.debug($);
|
||||||
// TODO: scraping goes here!
|
// TODO: scraping goes here!
|
||||||
|
|
||||||
$('.resultsRow').each(function (div) {
|
$('.resultsRow').each(function (div) {
|
||||||
const item = {};
|
const item = {};
|
||||||
@ -61,7 +64,7 @@ module.exports = {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
else {
|
else {
|
||||||
console.log('Using event cache...');
|
logger.info('Using event cache...');
|
||||||
|
|
||||||
res.render('pages/events', eventCache);
|
res.render('pages/events', eventCache);
|
||||||
}
|
}
|
||||||
@ -70,18 +73,19 @@ module.exports = {
|
|||||||
const cinemaID = cinemas[id].id;
|
const cinemaID = cinemas[id].id;
|
||||||
const url = cinemas[id].url;
|
const url = cinemas[id].url;
|
||||||
const thisCinema = eventCache[cinemaID] || { 'data': {}, 'last': 0 };
|
const thisCinema = eventCache[cinemaID] || { 'data': {}, 'last': 0 };
|
||||||
console.log(cinemaID);
|
logger.debug(cinemaID);
|
||||||
console.log(url);
|
logger.debug(url);
|
||||||
const j = [];
|
const j = [];
|
||||||
|
|
||||||
const now = new Date();
|
const now = new Date();
|
||||||
|
|
||||||
if ((now - thisCinema.last) > eventCache.expire)
|
if ((now - thisCinema.last) > eventCache.expire)
|
||||||
request(url, function (err, resp, body) {
|
request(url, function (err, resp, body) {
|
||||||
console.log('Working');
|
logger.debug('Working');
|
||||||
if (err)
|
if (err)
|
||||||
throw err;
|
throw err;
|
||||||
$ = cheerio.load(body);
|
|
||||||
|
const $ = cheerio.load(body);
|
||||||
|
|
||||||
$('.byEvent').each(function (div) {
|
$('.byEvent').each(function (div) {
|
||||||
const item = {};
|
const item = {};
|
||||||
@ -102,24 +106,24 @@ module.exports = {
|
|||||||
thisCinema.data = j;
|
thisCinema.data = j;
|
||||||
|
|
||||||
eventCache[cinemaID] = thisCinema;
|
eventCache[cinemaID] = thisCinema;
|
||||||
console.log('returning');
|
logger.debug('returning');
|
||||||
|
|
||||||
return thisCinema;
|
return thisCinema;
|
||||||
}, function(error, response, body) {
|
}, (error, response, body) => {
|
||||||
if(response.statusCode !== 200) {
|
if(response.statusCode !== 200) {
|
||||||
console.error(response.statusCode);
|
console.error(response.statusCode);
|
||||||
console.error(body);
|
console.error(body);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
else {
|
else {
|
||||||
console.log('Using event cache...');
|
logger.debug('Using event cache...');
|
||||||
|
|
||||||
return thisCinema;
|
return thisCinema;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'getCinema': function (req, res) {
|
'getCinema': function (req, res) {
|
||||||
const id = parseInt(req.params.id);
|
const id = parseInt(req.params.id);
|
||||||
console.log(`Getting cinema: ${ id}`);
|
logger.debug(`Getting cinema: ${ id}`);
|
||||||
|
|
||||||
const output = module.exports.doGetCinema(id);
|
const output = module.exports.doGetCinema(id);
|
||||||
res.render('pages/cinema', output);
|
res.render('pages/cinema', output);
|
||||||
@ -128,6 +132,7 @@ module.exports = {
|
|||||||
let output = module.exports.doGetCinema(0);
|
let output = module.exports.doGetCinema(0);
|
||||||
output = module.exports.doGetCinema(1);
|
output = module.exports.doGetCinema(1);
|
||||||
output = module.exports.doGetCinema(2);
|
output = module.exports.doGetCinema(2);
|
||||||
|
output = module.exports.doGetCinema(3);
|
||||||
|
|
||||||
setTimeout(function () {
|
setTimeout(function () {
|
||||||
module.exports.preLoad();
|
module.exports.preLoad();
|
||||||
@ -136,8 +141,7 @@ module.exports = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
setTimeout(function () {
|
setTimeout(function () {
|
||||||
console.log('Pre loading cinemas...');
|
logger.debug('Pre loading cinemas...');
|
||||||
module.exports.preLoad();
|
module.exports.preLoad();
|
||||||
}, 10000);
|
}, 10000);
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user