sophia.events/data/clean_events.js
Luc Juggery 2142d01731 Cleanup
2018-02-02 10:16:32 +01:00

39 lines
1.1 KiB
JavaScript

/*
Read events.json and move past events into past_events.json
*/
const fs = require("fs");
lo = require("lodash");
// Get today's date
var date = new Date().toISOString().replace(/[:\-]/g, '').replace(/\..+/, '')
// Get whole list of events
var events_contents = fs.readFileSync("events.json");
var events = JSON.parse(events_contents);
// Define lists of upcoming and past events
var upcoming_events = [];
var past_events = [];
// Move events in dedicated list
events.events.forEach(function(event){
// Check if event already happened
if(event.ts >= date){
// Add event in list of upcoming events
upcoming_events.push(event);
} else {
// Add event in list of past events
past_events.push(event);
}
});
// Sort upcoming events in date ascending order
var upcoming = { "events" : lo.orderBy(upcoming_events, ["ts"], ["asc"]) };
// Sort past events reverse in date descending order
var past = { "events" : lo.orderBy(past_events, ["ts"], ["desc"]) };
// Persist list in corresponding files
fs.writeFileSync('upcoming_events.json', JSON.stringify(upcoming));
fs.writeFileSync('past_events.json', JSON.stringify(past));