74 lines
1.8 KiB
JavaScript
74 lines
1.8 KiB
JavaScript
const request=require('request')
|
|
const csv=require('csvtojson')
|
|
var fs = require('fs');
|
|
var parsedJSON = require('./sampleMahlowat.json');
|
|
|
|
function getSelection(input) {
|
|
|
|
if ( input == 'Zustimmung' )
|
|
return 'a';
|
|
if ( input == 'Ablehnung' )
|
|
return 'c'
|
|
if ( input == 'Enthaltung' )
|
|
return 'b'
|
|
}
|
|
|
|
csv()
|
|
//.fromStream(request.get('https://docs.google.com/spreadsheets/d/1RL2x9ocXS5et1g5teOYIsBAcIwmy1u-SPCUdsGr1BtM/pub?output=csv'))
|
|
.fromFile('EUromat.csv')
|
|
.on('csv',(csvRow, index)=> {
|
|
|
|
// ingore the one from mucbkksfo@gmail.com (afd)
|
|
var parteien = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 ];
|
|
|
|
// load theses
|
|
if (index === 0) {
|
|
var theses = [];
|
|
for (var i=4; i < csvRow.length; i++) {
|
|
if (csvRow[i] !== "") {
|
|
theses.push({"l": csvRow[i], "s": "", "x": ""});
|
|
}
|
|
}
|
|
|
|
parsedJSON.theses = {};
|
|
for (var i=0; i < theses.length; i++) {
|
|
parsedJSON.theses[i] = theses[i];
|
|
}
|
|
}
|
|
|
|
|
|
if ( parteien.indexOf(index) > -1 ) {
|
|
|
|
parsedJSON.lists[Object.keys(parsedJSON.answers).length] = {
|
|
name : csvRow[2],
|
|
name_x : csvRow[2],
|
|
}
|
|
|
|
var parteiAnswers = {};
|
|
|
|
|
|
for ( var i = 0 ; i < 20 ; i ++ ) {
|
|
|
|
parteiAnswers[i] = {
|
|
'selection' : getSelection(csvRow[4 + (i * 2)]),
|
|
'statement' : csvRow[4 + (i * 2) + 1]
|
|
}
|
|
}
|
|
|
|
parsedJSON.answers[Object.keys(parsedJSON.answers).length] = parteiAnswers;
|
|
}
|
|
else {
|
|
console.log("Ingore response from " + csvRow[2] + ", " + csvRow[3])
|
|
}
|
|
})
|
|
.on('done',(error)=>{
|
|
|
|
fs.writeFile("./generated.json", JSON.stringify(parsedJSON, null, 4), function(err) {
|
|
if(err) {
|
|
return console.log(err);
|
|
}
|
|
|
|
console.log("The file was saved!");
|
|
});
|
|
})
|