/
storeData.js
62 lines (50 loc) · 1.9 KB
/
storeData.js
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
const scraper = require("./scraper");
const fs = require("fs");
const { gymToFile } = require("./constants");
async function save(gym, personCount, roundedTime, day) {
console.log(`Saving ${gym} file`);
return new Promise(async (resolve, reject) => {
try {
const savedDataFile = await fs.readFileSync(gymToFile[gym][0]);
let gymData = JSON.parse(savedDataFile);
const newCount = gymData[day][roundedTime]["Count"] + 1;
const newAverage =
(gymData[day][roundedTime]["Average"] + personCount) / 2;
gymData[day][roundedTime]["Count"] = newCount;
gymData[day][roundedTime]["Average"] = Math.floor(newAverage);
gymData[day][roundedTime]["CurrentCount"] = personCount;
personCount > gymData[day]["Max"]
? (gymData[day]["Max"] = personCount)
: "";
personCount < gymData[day]["Min"]
? (gymData[day]["Min"] = personCount)
: "";
await fs.writeFileSync(gymToFile[gym][0], JSON.stringify(gymData));
resolve(`Saved Data for ${gym}`);
} catch (e) {
reject(e);
}
});
}
// async function savePermanently(day, gym, dateString) {
// const savedDataFile = await fs.readFileSync(gymToFile[gym][0]);
// let gymData = JSON.parse(savedDataFile);
// // gymData[day][roundedTime]["CurrentCount"] = personCount;
// var len = 0;
// for (e of allPersonCountsToday) {
// if (e != 0) {
// len += 1;
// }
// }
// Average = Math.floor(allPersonCountsToday.reduce((p, c) => p + c) / len);
// arrayForCsv = [dateString, day, min, max, Average, ...allPersonCountsToday];
// while (arrayForCsv.length < csvFields.length) {
// arrayForCsv.push(0);
// }
// stringForCsv = arrayForCsv.join(",") + "\r\n";
// await fs.appendFile(file, stringForCsv, function(err) {
// if (err) throw err;
// console.log('The "data to append" was appended to file!');
// });
// }
module.exports = { save };