Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#!/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))