From bb241a9041aed91fcd637d353f2b6740ef60c8ec Mon Sep 17 00:00:00 2001 From: mrfry Date: Sun, 15 May 2022 16:54:59 +0200 Subject: [PATCH] criteria check error handling in question nodes --- stable.user.js | 47 +++++++++++++++++++++++++++-------------------- 1 file changed, 27 insertions(+), 20 deletions(-) diff --git a/stable.user.js b/stable.user.js index eb8e57d..2ce55fe 100755 --- a/stable.user.js +++ b/stable.user.js @@ -46,7 +46,7 @@ // : Script header {{{ // ==UserScript== // @name Moodle/Elearning/KMOOC test help -// @version 2.1.3.9 +// @version 2.1.3.10 // @description Online Moodle/Elearning/KMOOC test help // @author MrFry // @match https://elearning.uni-obuda.hu/* @@ -335,7 +335,8 @@ } }) } catch (e) { - debugLog("Couldn't get images from result (old)") + warn(e) + warn("Couldn't get images from result (old)") } } @@ -394,7 +395,7 @@ uid: getUid(), } - debugLog('Sent data', sentData) + log('Sent data', sentData) post('ask', sentData).then((results) => { removeLoadingMessage() ShowAnswers( @@ -471,7 +472,13 @@ let questionNodes Object.keys(questionNodeVariants).some((key) => { const variant = questionNodeVariants[key] - if (variant.criteria()) { + let criteriaPassed = false + try { + criteriaPassed = variant.criteria() + } catch (e) { + debugLog('Criteria check failed with error (question nodes)', e) + } + if (criteriaPassed) { questionNodes = variant.getter() if (questionNodes.length === 0) { warn( @@ -762,7 +769,7 @@ try { criteriaPassed = variant.criteria() } catch (e) { - debugLog('Criteria check failed with error', e) + debugLog('Criteria check failed with error (result nodes)', e) } if (criteriaPassed) { resultNodes = variant.getter() @@ -1152,7 +1159,7 @@ ], } - debugLog(sentData) + log(sentData) post('isAdding', sentData).then((res) => { ShowSaveQuizDialog(res.success, sentData, res.totalNewQuestions) }) @@ -1226,7 +1233,7 @@ testUrl: url, } - debugLog('Sent data', sentData) + log('Sent data', sentData) post('ask', sentData).then((results) => { removeLoadingMessage() ShowAnswers( @@ -1239,8 +1246,8 @@ ) }) } catch (e) { - debugLog('Error in handleAVRQuiz') - debugLog(e) + warn('Error in handleAVRQuiz') + warn(e) } } @@ -1919,7 +1926,7 @@ // } // }> function ShowAnswers(results) { - debugLog(results) + log(results) try { const answers = results.reduce((acc, res) => { const prepared = PrepareAnswers(res) @@ -1948,8 +1955,8 @@ ) } } catch (e) { - debugLog('Error showing answers') - debugLog(e) + warn('Error showing answers') + warn(e) } } @@ -2013,9 +2020,9 @@ sentData.subj = getCurrentSubjectName() } catch (e) { sentData.subj = 'NOSUBJ' - debugLog('unable to get subject name :c') + warn('unable to get subject name :c') } - debugLog('SENT DATA', sentData) + log('SENT DATA', sentData) post('isAdding', sentData).then((res) => { ShowSaveQuizDialog(res.success, sentData, res.totalNewQuestions) }) @@ -2073,8 +2080,8 @@ installSource: info().script.updateURL, }) } catch (err) { - debugLog('Unexpected error while registering script') - debugLog(err) + warn('Unexpected error while registering script') + warn(err) } } @@ -2107,8 +2114,8 @@ video.currentTime -= seekTime } } catch (err) { - debugLog('Hotkey error.') - debugLog(err.message) + warn('Hotkey error.') + warn(err.message) } }) var toadd = getVideoElement() @@ -2453,8 +2460,8 @@ result.msgContainer.child.msgDiv.elem.innerText = getCurrMsg().m } catch (e) { - debugLog('Error in message updating') - debugLog(e) + warn('Error in message updating') + warn(e) } } updateMessageText()