Skip to content
Snippets Groups Projects
random 1.74 KiB
Newer Older
#!/usr/bin/env node
//
// random
//    Neil Gershenfeld 9/17/18
//    random student generator
//
var root = 'https://fabacademy.org'
//var browser = 'google-chrome'
var browser = 'firefox'
//var browser = 'chromium'
var fs = require('fs')
const exec = require('child_process').exec
    //
    // read files
    //
var people = JSON.parse(fs.readFileSync('people.json'))
console.log('read ' + people.length + ' people')
var presented = JSON.parse(fs.readFileSync('presented.json'))
console.log('read ' + presented.length + ' presented')
    //
    // remove people who have already presented
    //
for (var p = 0; p < presented.length; ++p) {
    var index = people.findIndex(function(element) {
        return (element.path == presented[p].path)
    })
    console.log(index)
    if (index != -1) {
        console.log('remove ' + people[index].name)
        people.splice(index, 1)
    } else
        console.log(presented[p].name + ' not found')
}
console.log(people.length + ' remain to present')
    //
    // choose new person
    //
var index = Math.floor(Math.random() * people.length)
var person = people[index]
console.log('next presentation: ' + person.name)
    //
    // open page
    //
var url = root + person.path
exec(browser + ' ' + url)
    //
    // add to presented and save
    //
var date = new Date()
var year = date.getFullYear()
var month = ('0' + (1 + parseInt(date.getMonth()))).slice(-2)
var day = ('0' + date.getDate()).slice(-2)
var hour = ('0' + date.getHours()).slice(-2)
var minute = ('0' + date.getMinutes()).slice(-2)
var time = year + '-' + month + '-' + day + '-' + hour + '-' + minute
presented.push({
    name: person.name,
    path: person.path,
    date: time
})
exec('ls')
fs.writeFileSync('presented.json', JSON.stringify(presented))