generator für alle fragen
This commit is contained in:
80
csv2json/buildStaticHtmlInput.js
Normal file
80
csv2json/buildStaticHtmlInput.js
Normal file
@@ -0,0 +1,80 @@
|
||||
const request=require('request')
|
||||
const csv=require('csvtojson')
|
||||
var fs = require('fs');
|
||||
var parsedJSON = require('./sampleMahlowat.json');
|
||||
|
||||
var answers = {};
|
||||
for ( var i = 0 ; i < 36 ; i ++ ) {
|
||||
answers[i] = {
|
||||
'text' : '',
|
||||
'Zustimmung' : 0,
|
||||
'Enthaltung' : 0,
|
||||
'Ablehnung' : 0,
|
||||
'ZustimmungParteien' : [],
|
||||
'EnthaltungParteien' : [],
|
||||
'AblehnungParteien' : [],
|
||||
answers : []
|
||||
};
|
||||
}
|
||||
|
||||
function getParty(parteiname) {
|
||||
|
||||
if ( parteiname == 'NPD' ) return "npd";
|
||||
if ( parteiname == 'Ökologisch-Demokratische Partei, ÖDP' ) return "ödp";
|
||||
if ( parteiname == 'FDP Landesverband Sachsen' ) return "fdp";
|
||||
if ( parteiname == 'BÜNDNIS 90/DIE GRÜNEN' ) return "grün";
|
||||
if ( parteiname == 'AfD' ) return "afd";
|
||||
if ( parteiname == 'Freie Wähler' ) return "fw";
|
||||
if ( parteiname == 'Die PARTEI' ) return "partei";
|
||||
if ( parteiname == 'Piratenpartei Deutschland' ) return "piraten";
|
||||
if ( parteiname == 'SPD' ) return "spd";
|
||||
if ( parteiname == 'Partei Mensch Umwelt Tierschutz' ) return "mut";
|
||||
if ( parteiname == 'CDU' ) return "cdu";
|
||||
|
||||
console.log("error");
|
||||
}
|
||||
|
||||
var header = []
|
||||
|
||||
csv({noheader: true})
|
||||
.fromStream(request.get('https://docs.google.com/spreadsheets/d/1RL2x9ocXS5et1g5teOYIsBAcIwmy1u-SPCUdsGr1BtM/pub?output=csv'))
|
||||
.on('header',(header)=>{
|
||||
console.log(header);
|
||||
})
|
||||
.on('csv',(csvRow, index)=> {
|
||||
|
||||
if ( index == 0)
|
||||
header = csvRow;
|
||||
else {
|
||||
// ingore the one from mucbkksfo@gmail.com (afd)
|
||||
var parteien = [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 12];
|
||||
|
||||
// -1 because fo header shit
|
||||
if ( parteien.indexOf(index - 1) > -1 ) {
|
||||
|
||||
for ( var i = 0 ; i < 36 ; i ++ ){
|
||||
|
||||
answers[i].text = header[4 + (i * 2)]
|
||||
answers[i].answers.push({
|
||||
'name' : csvRow[2],
|
||||
'party' : getParty(csvRow[2]),
|
||||
'answer' : csvRow[4 + (i * 2)],
|
||||
'text' : !csvRow[4 + (i * 2) + 1] ? "Keine Erklärung angegeben" : csvRow[4 + (i * 2) + 1]
|
||||
});
|
||||
}
|
||||
}
|
||||
else {
|
||||
console.log("Ingore response from " + csvRow[2] + ", " + csvRow[3])
|
||||
}
|
||||
}
|
||||
})
|
||||
.on('done',(error)=>{
|
||||
|
||||
fs.writeFile("/Users/gerb/Development/private/jef/euromat/static-site-generator/static-site-generator.json", JSON.stringify(answers, null, 4), function(err) {
|
||||
if(err) {
|
||||
return console.log(err);
|
||||
}
|
||||
|
||||
console.log("The file was saved!");
|
||||
});
|
||||
})
|
||||
Reference in New Issue
Block a user