mirror of
https://gitlab.com/MrFry/moodle-test-userscript
synced 2025-04-01 20:22:48 +02:00
Small logging improvement
This commit is contained in:
parent
9c75edfc3c
commit
f9244c9911
1 changed files with 118 additions and 112 deletions
230
main.js
230
main.js
|
@ -32,10 +32,11 @@ var serverAdress = "https://questionmining.tk/";
|
|||
|
||||
// forcing pages for testing. unless you test, do not set these to true!
|
||||
// only one of these should be true for testing
|
||||
const forceTestPage = true;
|
||||
const forceTestPage = false;
|
||||
const forceResultPage = false;
|
||||
const forceDefaultPage = false;
|
||||
const logElementGetting = false;
|
||||
const log = false;
|
||||
|
||||
var motdShowCount = 3;
|
||||
var motd = "";
|
||||
|
@ -250,16 +251,16 @@ function Main() {
|
|||
active: true
|
||||
});
|
||||
});
|
||||
console.log("------------------------------------------");
|
||||
console.log("script error at main:");
|
||||
console.log(e.message);
|
||||
console.log("------------------------------------------");
|
||||
console.log(e.stack);
|
||||
console.log("------------------------------------------");
|
||||
Log("------------------------------------------");
|
||||
Log("script error at main:");
|
||||
Log(e.message);
|
||||
Log("------------------------------------------");
|
||||
Log(e.stack);
|
||||
Log("------------------------------------------");
|
||||
}
|
||||
if (url.includes("eduplayer")) // if the current site is a video site
|
||||
AddVideoHotkeys(url); // adding video hotkeys
|
||||
console.log(
|
||||
Log(
|
||||
"Itteni hibák 100% a moodle hiba. Kivéve, ha oda van írva hogy script error ;) Ha ilyesmi szerepel itt, akkor olvasd el a segítség szekciót! Nagy esélyel a kérdéseket nem lehetett beolvasni."
|
||||
);
|
||||
});
|
||||
|
@ -272,74 +273,74 @@ function Main() {
|
|||
|
||||
function GetAllQuestionsDropdown() {
|
||||
if (logElementGetting)
|
||||
console.log("getting dropdown question");
|
||||
Log("getting dropdown question");
|
||||
return document.getElementById("responseform").getElementsByTagName("p")[0].innerText;
|
||||
}
|
||||
|
||||
function GetAllQuestionsQtext() {
|
||||
if (logElementGetting)
|
||||
console.log("getting all questions qtext");
|
||||
Log("getting all questions qtext");
|
||||
return document.getElementById("responseform").getElementsByClassName("qtext"); // getting questions
|
||||
}
|
||||
|
||||
function GetAllQuestionsP() {
|
||||
if (logElementGetting)
|
||||
console.log("getting all questions by tag p");
|
||||
Log("getting all questions by tag p");
|
||||
return document.getElementById("responseform").getElementsByTagName("p");
|
||||
}
|
||||
|
||||
function GetFormulationClearfix() {
|
||||
if (logElementGetting)
|
||||
console.log("getting formulation clearfix lol");
|
||||
Log("getting formulation clearfix lol");
|
||||
return document.getElementsByClassName("formulation clearfix");
|
||||
}
|
||||
|
||||
function GetAnswerOptions() {
|
||||
// TODO
|
||||
if (logElementGetting)
|
||||
console.log("getting all answer options");
|
||||
Log("getting all answer options");
|
||||
return GetFormulationClearfix()[0].childNodes[3].innerText;
|
||||
}
|
||||
|
||||
function GetQuestionImages() {
|
||||
if (logElementGetting)
|
||||
console.log("getting question images");
|
||||
Log("getting question images");
|
||||
return GetFormulationClearfix()[0].getElementsByTagName("img");
|
||||
}
|
||||
|
||||
function GetCurrentSubjectName() {
|
||||
if (logElementGetting)
|
||||
console.log("getting current subjects name");
|
||||
Log("getting current subjects name");
|
||||
return document.getElementById("page-header").innerText.split("\n")[0];
|
||||
}
|
||||
|
||||
function GetVideo() {
|
||||
if (logElementGetting)
|
||||
console.log("getting video stuff");
|
||||
Log("getting video stuff");
|
||||
return document.getElementsByTagName("video")[0];
|
||||
}
|
||||
|
||||
function GetVideoElement() {
|
||||
if (logElementGetting)
|
||||
console.log("getting video element");
|
||||
Log("getting video element");
|
||||
return document.getElementById("videoElement").parentNode;
|
||||
}
|
||||
|
||||
function GetAllAnswer(index) {
|
||||
if (logElementGetting)
|
||||
console.log("getting all answers, ind: " + index);
|
||||
Log("getting all answers, ind: " + index);
|
||||
return document.getElementsByClassName("answer")[index].childNodes;
|
||||
}
|
||||
|
||||
function GetInputType(answers, i) {
|
||||
if (logElementGetting)
|
||||
console.log("getting input type");
|
||||
Log("getting input type");
|
||||
return answers[i].getElementsByTagName("input")[0].type;
|
||||
}
|
||||
|
||||
function GetFormResult() {
|
||||
if (logElementGetting)
|
||||
console.log("getting form result");
|
||||
Log("getting form result");
|
||||
var t = document.getElementsByTagName("form")[0].childNodes[0].childNodes;
|
||||
if (t.length > 0 && t[0].tagName == undefined) // debreceni moodle
|
||||
return document.getElementsByTagName("form")[1].childNodes[0].childNodes;
|
||||
|
@ -349,28 +350,28 @@ function GetFormResult() {
|
|||
|
||||
function GetQText(i) {
|
||||
if (logElementGetting)
|
||||
console.log("getting qtext by index: " + i);
|
||||
Log("getting qtext by index: " + i);
|
||||
var results = GetFormResult(); // getting results element
|
||||
return results[i].getElementsByClassName("qtext");
|
||||
}
|
||||
|
||||
function GetDropboxes(i) {
|
||||
if (logElementGetting)
|
||||
console.log("getting dropboxes by index: " + i);
|
||||
Log("getting dropboxes by index: " + i);
|
||||
var results = GetFormResult(); // getting results element
|
||||
return results[i].getElementsByTagName("select");
|
||||
}
|
||||
|
||||
function GetCurrQuestion(i) {
|
||||
if (logElementGetting)
|
||||
console.log("getting curr questions by index: " + i);
|
||||
Log("getting curr questions by index: " + i);
|
||||
return document.getElementsByTagName("form")[0].childNodes[0].childNodes[i].childNodes[1].childNodes[
|
||||
0].innerText;
|
||||
}
|
||||
|
||||
function GetCurrentAnswer(i) {
|
||||
if (logElementGetting)
|
||||
console.log("getting curr answer by index: " + i);
|
||||
Log("getting curr answer by index: " + i);
|
||||
var results = GetFormResult(); // getting results element
|
||||
var t = results[i].getElementsByClassName("formulation clearfix")[0].getElementsByTagName("span");
|
||||
if (t.length > 2)
|
||||
|
@ -379,7 +380,7 @@ function GetCurrentAnswer(i) {
|
|||
|
||||
function GetSelectAnswer() {
|
||||
if (logElementGetting)
|
||||
console.log("getting selected answer");
|
||||
Log("getting selected answer");
|
||||
var t = document.getElementsByTagName("select");
|
||||
if (t.length > 0)
|
||||
return t[0].options[document.getElementsByTagName("select")[
|
||||
|
@ -388,7 +389,7 @@ function GetSelectAnswer() {
|
|||
|
||||
function GetAnswerNode(i) {
|
||||
if (logElementGetting)
|
||||
console.log("getting answer node");
|
||||
Log("getting answer node");
|
||||
var results = GetFormResult(); // getting results element
|
||||
var r = results[i].getElementsByClassName("answer")[0].childNodes;
|
||||
var ret = [];
|
||||
|
@ -400,7 +401,7 @@ function GetAnswerNode(i) {
|
|||
|
||||
function GetPossibleAnswers(i) {
|
||||
if (logElementGetting)
|
||||
console.log("getting possible answers");
|
||||
Log("getting possible answers");
|
||||
var results = GetFormResult(); // getting results element
|
||||
var items = GetFormResult()[i].getElementsByTagName("label");
|
||||
var r = [];
|
||||
|
@ -421,14 +422,14 @@ function GetPossibleAnswers(i) {
|
|||
|
||||
function GetRightAnswerIfCorrectShown(i) {
|
||||
if (logElementGetting)
|
||||
console.log("getting right answer if correct shown");
|
||||
Log("getting right answer if correct shown");
|
||||
var results = GetFormResult(); // getting results element
|
||||
return results[i].getElementsByClassName("rightanswer");
|
||||
}
|
||||
|
||||
function GetWrongAnswerIfCorrectNotShown(i) {
|
||||
if (logElementGetting)
|
||||
console.log("getting wrong answer if correct not shown");
|
||||
Log("getting wrong answer if correct not shown");
|
||||
var results = GetFormResult(); // getting results element
|
||||
var n = results[i].getElementsByTagName("i")[0].parentNode;
|
||||
if (n.className.includes("incorrect"))
|
||||
|
@ -439,7 +440,7 @@ function GetWrongAnswerIfCorrectNotShown(i) {
|
|||
|
||||
function GetRightAnswerIfCorrectNotShown(i) {
|
||||
if (logElementGetting)
|
||||
console.log("Getting right answer if correct not shown");
|
||||
Log("Getting right answer if correct not shown");
|
||||
var results = GetFormResult(); // getting results element
|
||||
var n = results[i].getElementsByTagName("i")[0].parentNode;
|
||||
if (n.className.includes("correct") && !n.className.includes("incorrect"))
|
||||
|
@ -450,20 +451,20 @@ function GetRightAnswerIfCorrectNotShown(i) {
|
|||
|
||||
function GetFormCFOfResult(result) {
|
||||
if (logElementGetting)
|
||||
console.log("getting formulation clearfix");
|
||||
Log("getting formulation clearfix");
|
||||
return result.getElementsByClassName("formulation clearfix")[0];
|
||||
}
|
||||
|
||||
function GetResultText(i) {
|
||||
if (logElementGetting)
|
||||
console.log("getting result text");
|
||||
Log("getting result text");
|
||||
var results = GetFormResult(); // getting results element
|
||||
return GetFormCFOfResult(results[i]).getElementsByTagName("p");
|
||||
}
|
||||
|
||||
function GetResultImage(i) {
|
||||
if (logElementGetting)
|
||||
console.log("getting result image");
|
||||
Log("getting result image");
|
||||
var results = GetFormResult(); // getting results element
|
||||
return GetFormCFOfResult(results[i]).getElementsByTagName("img");
|
||||
}
|
||||
|
@ -500,20 +501,20 @@ function GetQuestionFromTest() {
|
|||
}
|
||||
}
|
||||
} catch (e) {
|
||||
console.log("------------------------------------------");
|
||||
console.log("script error at getting question:");
|
||||
console.log(e.message);
|
||||
console.log("------------------------------------------");
|
||||
console.log(e.stack);
|
||||
console.log("------------------------------------------");
|
||||
Log("------------------------------------------");
|
||||
Log("script error at getting question:");
|
||||
Log(e.message);
|
||||
Log("------------------------------------------");
|
||||
Log(e.stack);
|
||||
Log("------------------------------------------");
|
||||
}
|
||||
var imgNodes = ""; // the image nodes for questions
|
||||
try {
|
||||
imgNodes = GetQuestionImages(); // getting question images, if there is any
|
||||
AddImageNamesToImages(imgNodes); // adding image names to images, so its easier to search for, or even guessing
|
||||
} catch (e) {
|
||||
console.log(e);
|
||||
console.log("Some error with images");
|
||||
Log(e);
|
||||
Log("Some error with images");
|
||||
}
|
||||
return {
|
||||
imgnodes: imgNodes,
|
||||
|
@ -626,7 +627,7 @@ function GetRightAnswerFromResultv2(i) {
|
|||
}
|
||||
}
|
||||
} catch (e) {
|
||||
console.log("error at new nodegetting, trying the oldschool way");
|
||||
Log("error at new nodegetting, trying the oldschool way");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -664,12 +665,12 @@ function Init(cwith) {
|
|||
}
|
||||
}());
|
||||
} catch (e) {
|
||||
console.log("------------------------------------------");
|
||||
console.log("script error at addEventListener:");
|
||||
console.log(e.message);
|
||||
console.log("------------------------------------------");
|
||||
console.log(e.stack);
|
||||
console.log("------------------------------------------");
|
||||
Log("------------------------------------------");
|
||||
Log("script error at addEventListener:");
|
||||
Log(e.message);
|
||||
Log("------------------------------------------");
|
||||
Log(e.stack);
|
||||
Log("------------------------------------------");
|
||||
}
|
||||
VersionActions();
|
||||
count = Load(cwith); // loads resources
|
||||
|
@ -728,12 +729,12 @@ function ReadFile(cwith) {
|
|||
};
|
||||
}
|
||||
} catch (e) {
|
||||
console.log("------------------------------------------");
|
||||
console.log("script error at reading file:");
|
||||
console.log(e.message);
|
||||
console.log("------------------------------------------");
|
||||
console.log(e.stack);
|
||||
console.log("------------------------------------------");
|
||||
Log("------------------------------------------");
|
||||
Log("script error at reading file:");
|
||||
Log(e.message);
|
||||
Log("------------------------------------------");
|
||||
Log(e.stack);
|
||||
Log("------------------------------------------");
|
||||
}
|
||||
NLoad(resource, cwith);
|
||||
}
|
||||
|
@ -754,15 +755,15 @@ function ReadNetDB(cwith, useNetDB) {
|
|||
});
|
||||
}
|
||||
try {
|
||||
console.log("Sending XMLHTTP Request...");
|
||||
Log("Sending XMLHTTP Request...");
|
||||
return NewXMLHttpRequest();
|
||||
} catch (e) {
|
||||
console.log("------------------------------------------");
|
||||
console.log("script error at reading online database:");
|
||||
console.log(e.message);
|
||||
console.log("------------------------------------------");
|
||||
console.log(e.stack);
|
||||
console.log("------------------------------------------");
|
||||
Log("------------------------------------------");
|
||||
Log("script error at reading online database:");
|
||||
Log(e.message);
|
||||
Log("------------------------------------------");
|
||||
Log(e.stack);
|
||||
Log("------------------------------------------");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -877,8 +878,8 @@ function LoadMOTD(resource) {
|
|||
try {
|
||||
motd = resource.motd;
|
||||
} catch (e) {
|
||||
console.log("Error loading motd :c");
|
||||
console.log(e);
|
||||
Log("Error loading motd :c");
|
||||
Log(e);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -886,8 +887,8 @@ function LoadVersion(resource) {
|
|||
try {
|
||||
lastestVersion = resource.version;
|
||||
} catch (e) {
|
||||
console.log("Error loading version :c");
|
||||
console.log(e);
|
||||
Log("Error loading version :c");
|
||||
Log(e);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -900,7 +901,7 @@ function NLoad(resource, cwith) {
|
|||
try {
|
||||
d = JSON.parse(resource);
|
||||
} catch (e) {
|
||||
console.log("Old data, trying with old methods....");
|
||||
Log("Old data, trying with old methods....");
|
||||
d = ParseRawData(resource).result;
|
||||
}
|
||||
var r = new QuestionDB();
|
||||
|
@ -929,12 +930,12 @@ function NLoad(resource, cwith) {
|
|||
data = r;
|
||||
count = allCount + 1; // couse starting with -1 to show errors
|
||||
} catch (e) {
|
||||
console.log("------------------------------------------");
|
||||
console.log("script error at loading:");
|
||||
console.log(e.message);
|
||||
console.log("------------------------------------------");
|
||||
console.log(e.stack);
|
||||
console.log("------------------------------------------");
|
||||
Log("------------------------------------------");
|
||||
Log("script error at loading:");
|
||||
Log(e.message);
|
||||
Log("------------------------------------------");
|
||||
Log(e.stack);
|
||||
Log("------------------------------------------");
|
||||
count = -1; // returns -1 if error
|
||||
}
|
||||
var i = 0;
|
||||
|
@ -1211,7 +1212,7 @@ function SaveQuiz(quiz, questionData) {
|
|||
sentData.subj = GetCurrentSubjectName();
|
||||
} catch (e) {
|
||||
sentData.subj = "NOSUBJ";
|
||||
console.log("unable to get subject name :c");
|
||||
Log("unable to get subject name :c");
|
||||
}
|
||||
var useNetDB = GM_getValue("useNetDB");
|
||||
if (useNetDB != undefined && useNetDB == 1) {
|
||||
|
@ -1222,17 +1223,17 @@ function SaveQuiz(quiz, questionData) {
|
|||
sendSuccess = true;
|
||||
}
|
||||
} catch (e) {
|
||||
console.log("error at sending data to server.");
|
||||
console.log(e);
|
||||
Log("error at sending data to server.");
|
||||
Log(e);
|
||||
}
|
||||
ShowSaveQuizDialog(addedQ, allQ, allOutput, output, sendSuccess, sentData);
|
||||
} catch (e) {
|
||||
console.log("------------------------------------------");
|
||||
console.log("script error at saving quiz:");
|
||||
console.log(e.message);
|
||||
console.log("------------------------------------------");
|
||||
console.log(e.stack);
|
||||
console.log("------------------------------------------");
|
||||
Log("------------------------------------------");
|
||||
Log("script error at saving quiz:");
|
||||
Log(e.message);
|
||||
Log("------------------------------------------");
|
||||
Log(e.stack);
|
||||
Log("------------------------------------------");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1263,18 +1264,18 @@ function GetQuiz() {
|
|||
{
|
||||
quiz.push(new Question(question.q, question.a, question.i)); // adding current question to quiz
|
||||
} else {
|
||||
console.log("error getting queston, or its incorrect");
|
||||
console.log(question);
|
||||
Log("error getting queston, or its incorrect");
|
||||
Log(question);
|
||||
}
|
||||
}
|
||||
return quiz;
|
||||
} catch (e) {
|
||||
console.log("------------------------------------------");
|
||||
console.log("script error at quiz parsing:");
|
||||
console.log(e.message);
|
||||
console.log("------------------------------------------");
|
||||
console.log(e.stack);
|
||||
console.log("------------------------------------------");
|
||||
Log("------------------------------------------");
|
||||
Log("script error at quiz parsing:");
|
||||
Log(e.message);
|
||||
Log("------------------------------------------");
|
||||
Log(e.stack);
|
||||
Log("------------------------------------------");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1341,8 +1342,8 @@ function AddVideoHotkeys(url) {
|
|||
video.currentTime -= seekTime;
|
||||
}
|
||||
} catch (err) {
|
||||
console.log("Hotkey error.");
|
||||
console.log(err.message);
|
||||
Log("Hotkey error.");
|
||||
Log(err.message);
|
||||
}
|
||||
});
|
||||
var toadd = GetVideoElement();
|
||||
|
@ -1419,12 +1420,17 @@ function HighLightAnswer(results, currQuestionNumber) {
|
|||
}
|
||||
} catch (e) // catching errors. Sometimes there are random errors, wich i did not test, but they are rare, and does not break the main script.
|
||||
{
|
||||
console.log("script error at highlightin answer: " + e.message);
|
||||
Log("script error at highlightin answer: " + e.message);
|
||||
}
|
||||
}
|
||||
|
||||
//: }}}
|
||||
|
||||
function Log(value) {
|
||||
if (log)
|
||||
console.log(value);
|
||||
}
|
||||
|
||||
//: }}}
|
||||
|
||||
//: Minor UI stuff {{{
|
||||
|
@ -1573,7 +1579,7 @@ function ShowMessage(msgItem, timeout, funct) {
|
|||
}
|
||||
|
||||
var buttonMargin = "2px 2px 2px 2px"; // uniform button margin
|
||||
if (msgItem[currItem].length > 1) { // TODO: test this
|
||||
if (msgItem[currItem].length > 1) {
|
||||
// PREV SUGG BUTTON ------------------------------------------------------------------------------------------------------------
|
||||
var prevSuggButton = CreateNodeWithText(prevSuggestionCell, "<", "button");
|
||||
prevSuggButton.style.margin = buttonMargin; // fancy margin
|
||||
|
@ -1643,12 +1649,12 @@ function ShowMessage(msgItem, timeout, funct) {
|
|||
}
|
||||
});
|
||||
} catch (e) {
|
||||
console.log("------------------------------------------");
|
||||
console.log("script error at showing message:");
|
||||
console.log(e.message);
|
||||
console.log("------------------------------------------");
|
||||
console.log(e.stack);
|
||||
console.log("------------------------------------------");
|
||||
Log("------------------------------------------");
|
||||
Log("script error at showing message:");
|
||||
Log(e.message);
|
||||
Log("------------------------------------------");
|
||||
Log(e.stack);
|
||||
Log("------------------------------------------");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1701,12 +1707,12 @@ function ShowMenu() {
|
|||
|
||||
appedtTo.appendChild(menuButtonDiv);
|
||||
} catch (e) {
|
||||
console.log("------------------------------------------");
|
||||
console.log("script error at showing menu:");
|
||||
console.log(e.message);
|
||||
console.log("------------------------------------------");
|
||||
console.log(e.stack);
|
||||
console.log("------------------------------------------");
|
||||
Log("------------------------------------------");
|
||||
Log("script error at showing menu:");
|
||||
Log(e.message);
|
||||
Log("------------------------------------------");
|
||||
Log(e.stack);
|
||||
Log("------------------------------------------");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1929,12 +1935,12 @@ function ShowMenuList() {
|
|||
menuDiv.appendChild(tbl); // adding table box to main div
|
||||
appedtTo.appendChild(menuDiv);
|
||||
} catch (e) {
|
||||
console.log("------------------------------------------");
|
||||
console.log("script error at showing menu list:");
|
||||
console.log(e.message);
|
||||
console.log("------------------------------------------");
|
||||
console.log(e.stack);
|
||||
console.log("------------------------------------------");
|
||||
Log("------------------------------------------");
|
||||
Log("script error at showing menu list:");
|
||||
Log(e.message);
|
||||
Log("------------------------------------------");
|
||||
Log(e.stack);
|
||||
Log("------------------------------------------");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2024,7 +2030,7 @@ function SendXHRMessage(message) {
|
|||
"Content-Type": "application/x-www-form-urlencoded"
|
||||
},
|
||||
onerror: function(response) {
|
||||
console.log("XMLHTTP request POST error");
|
||||
Log("XMLHTTP request POST error");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue