From 0e92f55eb45e7bffd34f9da3414c0e7885439eaa Mon Sep 17 00:00:00 2001 From: mrfry Date: Wed, 10 Feb 2021 15:05:11 +0100 Subject: [PATCH] Added invalid question remover --- src/standaloneUtils/invalidQuestionRemover.js | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 src/standaloneUtils/invalidQuestionRemover.js diff --git a/src/standaloneUtils/invalidQuestionRemover.js b/src/standaloneUtils/invalidQuestionRemover.js new file mode 100644 index 0000000..0ca2cf8 --- /dev/null +++ b/src/standaloneUtils/invalidQuestionRemover.js @@ -0,0 +1,54 @@ +const fs = require('fs') + +function GetParams() { + return process.argv.splice(2) +} +const params = GetParams() +console.log(params) +if (params.length === 0) { + console.error('No params! Need a path to a question database!') + process.exit() +} +const file = params[0] + +const data = JSON.parse(fs.readFileSync(file, 'utf8')) +const res = [] +let invalidQuestionCount = 0 + +data.forEach((subj) => { + const questions = [] + subj.Questions.forEach((question) => { + if (isInvalidQuestion(question)) { + console.log(`invalid question in ${subj.Name}:`) + console.log(question) + invalidQuestionCount++ + } else { + questions.push(question) + } + }) + res.push({ + Name: subj.Name, + Questions: questions, + }) +}) + +function isInvalidQuestion(q) { + if (q.Q === 'Ugrás...' || q.A === 'Ugrás...') { + return true + } + + if (!q.Q && !q.A) { + return true + } + + if (!q.Q && q.data.type === 'simple') { + return true + } + + return false +} + +console.log(`${invalidQuestionCount} invalid questions, writing results...`) +fs.writeFileSync(file + '.res', JSON.stringify(res)) + +console.log('Done')