Fixed bugs that came from declassifying classes.js

This commit is contained in:
mrfry 2020-10-02 18:16:19 +02:00
parent db1976ecf3
commit ecd3a9805f
6 changed files with 92 additions and 116 deletions
src/utils

View file

@ -20,7 +20,6 @@ Question Server
module.exports = {
ProcessIncomingRequest: ProcessIncomingRequest,
LoadJSON: LoadJSON,
LoadJSONFromObject: LoadJSONFromObject,
}
const dataFile = './qminingPublic/data.json'
@ -32,8 +31,7 @@ const logger = require('../utils/logger.js')
const idStats = require('../utils/ids.js')
idStats.Load() // FIXME: dont always load when actions.js is used
const utils = require('../utils/utils.js')
const classes = require('./classes.js')
classes.initLogger(logger.DebugLog)
const { addQuestion, getSubjNameWithoutYear } = require('./classes.js')
// if a recievend question doesnt match at least this % to any other question in the db it gets
// added to db
@ -103,15 +101,9 @@ function ProcessIncomingRequest(recievedData, qdb, infos, dryRun) {
worker.on('message', (workerMsg) => {
logger.DebugLog('Message from processData', 'actions', 1)
logger.DebugLog(workerMsg, 'actions', 1)
logger.DebugLog(workerMsg, 'actions', 3)
const allQuestions = workerMsg.map((resultQuestion) => {
return new classes.Question(
resultQuestion.Q,
resultQuestion.A,
resultQuestion.data
)
})
const allQuestions = workerMsg
try {
let color = logger.GetColor('green')
@ -120,14 +112,14 @@ function ProcessIncomingRequest(recievedData, qdb, infos, dryRun) {
color = logger.GetColor('blue')
msg += `New questions: ${allQuestions.length} ( All: ${allQLength} )`
allQuestions.forEach((currentQuestion) => {
const sName = classes.SUtils.GetSubjNameWithoutYear(data.subj)
const sName = getSubjNameWithoutYear(data.subj)
logger.DebugLog(
'Adding question with subjName: ' + sName + ' :',
'actions',
3
)
logger.DebugLog(currentQuestion, 'actions', 3)
qdb.AddQuestion(sName, currentQuestion)
addQuestion(qdb, sName, currentQuestion)
})
currWrites++
@ -195,30 +187,11 @@ function ProcessIncomingRequest(recievedData, qdb, infos, dryRun) {
// loading stuff
function LoadJSON(dataFile) {
var data = JSON.parse(utils.ReadFile(dataFile))
return LoadJSONFromObject(data)
}
function LoadJSONFromObject(data) {
try {
var result = new classes.QuestionDB()
var rt = []
for (var i = 0; i < data.Subjects.length; i++) {
let subject = new classes.Subject(data.Subjects[i].Name)
var j = 0
for (j = 0; j < data.Subjects[i].Questions.length; j++) {
var currQ = data.Subjects[i].Questions[j]
subject.AddQuestion(new classes.Question(currQ.Q, currQ.A, currQ.data))
}
rt.push({
name: data.Subjects[i].Name,
count: j,
})
result.AddSubject(subject)
}
return result
} catch (err) {
logger.Log('Error loading sutff', logger.GetColor('redbg'), true)
console.log(err)
if (!data.Subjects) {
logger.Log(
"data.Subjects is undefined! Couldn't load data!",
logger.GetColor('redbg')
)
}
return data.Subjects
}