2017-12-14 02:49:35 -05:00

71 lines
3.0 KiB
JavaScript

var assignments;
document.getElementById("button").onclick = function() {
var container = document.getElementById("container");
assignments = getData();
assignments = processData(assignments);
}
function processData(data) {
var el = document.createElement("html");
el.innerHTML = data.replace(/(src|href)="[^"]*"/gmi, "");;
var organized = [];
var classes = el.getElementsByClassName("displaytbl");
for(var i = 0; i < classes.length; i++) {
var eachClass = {};
var teacher = classes[i].children[0].children[0].children[1].childNodes[2].nodeValue.replace(/\s/g,"").split(",");
var grade = classes[i].children[0].children[1].children[0].childNodes[2].nodeValue.replace(/\s/g,"");
eachClass["name"] = classes[i].children[0].children[0].children[0].children[1].innerText.match(/[a-z].*(?= \()/gi)[0];
eachClass["teacher"] = [teacher[1], teacher[0]];
eachClass["grade"] = grade.replace(/\(.+\)/g, "");
eachClass["percent"] = parseFloat(grade.match(/[0-9][^%\)]*/g)) || "Unknown";
var works = classes[i].children[1].children;
var orgWork = [];
for(var j = 0; j < works.length; j++) {
var eachWork = {};
var tabLen = works[j].children.length;
eachWork["date"] = new Date(works[j].children[1].innerText);
eachWork["workName"] = works[j].children[3].innerText;
eachWork["totalPoints"] = parseFloat(works[j].children[4].innerText);
eachWork["earnedPoints"] = parseFloat(works[j].children[5].innerText);
if(works[j].children.length === 10) {
eachWork["percent"] = Math.round(1000*eachWork["earnedPoints"]/eachWork["totalPoints"])/10;
} else {
eachWork["percent"] = parseFloat(works[j].children[6].innerText.replace("%",""));
}
eachWork["scoreComments"] = works[j].children[tabLen-4].innerText;
eachWork["extraCredit"] = works[j].children[tabLen-3].innerText;
eachWork["notGraded"] = works[j].children[tabLen-2].innerText;
eachWork["comments"] = works[j].children[tabLen-1].innerText;
orgWork.push(eachWork);
}
eachClass["work"] = orgWork;
organized.push(eachClass);
}
return organized;
}
function getData() {
var username = document.getElementById("username").value;
var password = document.getElementById("password").value;
if(username === "" || password === "") {
alert("Please fill out all forms!");
return;
}
var xhr = new XMLHttpRequest();
var data;
var send = "Pin=" + username + "&Password=" + password;
xhr.open("POST", "http://68.41.125.11:5000/ZangleAccess/index.php", false);
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhr.onreadystatechange = function() {
if(xhr.readyState === XMLHttpRequest.DONE && xhr.status === 200) {
data = xhr.responseText;
}
}
xhr.send(send);
return data;
}