49 lines
1000 B
JavaScript
49 lines
1000 B
JavaScript
const jsonfile = require('jsonfile');
|
|
|
|
const fetch = require('node-fetch');
|
|
const fecha = require('fecha');
|
|
|
|
const { scrapeResults } = require('./scraper');
|
|
|
|
const file = 'data/data.json';
|
|
|
|
function lastEvent() {
|
|
const dateThen = new Date();
|
|
|
|
// Tuesday and Friday
|
|
// Sun, Mon, *Tue*, Wed, Thu, *Fri*, Sat
|
|
// [2, 3 ,4 ,1 ,2 ,3 ,1]
|
|
|
|
const daySubtractor = [2, 3, 4, 1, 2, 3, 1];
|
|
|
|
const dayNow = dateThen.getDay();
|
|
|
|
dateThen.setDate(dateThen.getDate() - daySubtractor[dayNow]);
|
|
|
|
return fecha.format(dateThen, '/DD-MM-YYYY');
|
|
}
|
|
|
|
function retrieveNew() {
|
|
const ystring = lastEvent();
|
|
|
|
const lotData = jsonfile.readFileSync(file);
|
|
|
|
const u = `https://www.euro-millions.com/results${ystring}`;
|
|
|
|
console.log('retrieving:', u);
|
|
|
|
fetch(u)
|
|
.then((res) => res.text())
|
|
.then((body) => {
|
|
const m = scrapeResults(body);
|
|
|
|
console.log(m);
|
|
|
|
lotData.unshift(m);
|
|
|
|
jsonfile.writeFileSync(file, lotData);
|
|
});
|
|
}
|
|
|
|
module.exports = { retrieveNew };
|