Skip to content

Instantly share code, notes, and snippets.

@divinity76
Last active August 29, 2015 14:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save divinity76/b9d4d9a3f1915ba63d97 to your computer and use it in GitHub Desktop.
Save divinity76/b9d4d9a3f1915ba63d97 to your computer and use it in GitHub Desktop.
online.net order page comparisons
// run at https://console.online.net/en/order/server
(function () {
var servers = document.querySelectorAll(".server-availability > tbody > tr"),
i = 0,
tds = [],
server = {
name: "",
CPU: "",
RAM: "",
parsedRAM: "",
HDD: "",
connection: "",
availability: "",
price: "",
parsedPrice: "",
orderID: ""
},
parser = function (div) { //returns Number(GB) , ONLY understand TB/GB..
var raw = div.textContent;
var interesting = raw.match(/\d+\s*(?:x\s*\d+)?\s*(?:TB|GB)/ig); //2 x 3 TB SAS + 2 x 120 GB SSD + 4 x 1 TB
var ret = 0,
i = 0;
for (i = 0; i < interesting.length; ++i) {
ret += Number(eval(interesting[i].replace(/x/gi, "*").replace(/TB/gi, "*1000").replace(/GB/gi, "")));
}
return Number(ret);
};
var ramScore,HDDScore;
for (i = 0; i < servers.length; ++i) {
tds = servers[i].getElementsByTagName("td");
server.name = tds[0];
server.CPU = tds[1];
server.RAM = tds[2];
server.parsedRAM = parser(tds[2]);
server.HDD = tds[3];
server.parsedHDD = parser(tds[3]);
server.connection = tds[4];
server.availability = tds[5];
server.price = tds[6];
server.parsedPrice = Number(tds[6].textContent.match(/\d+(?:\.\d+)?/)[0]);
server.orderID = tds[7];
//return server;
ramScore=server.parsedRAM / server.parsedPrice;
HDDScore=server.parsedHDD / server.parsedPrice;
finalScore=ramScore+HDDScore;
server.RAM.textContent += " (" + (ramScore).toString().substring(0, 5) + "GB/€ )"; //<<code will bug out when its >= 100000 GB/€ ;)
server.HDD.textContent += " (" + (HDDScore).toString().substring(0, 5) + "GB/€ )";
//server.price.textContent+=" ("+finalScore+")";
}
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment