Skip to content

Instantly share code, notes, and snippets.

@JosiasSena
Last active December 7, 2016 21:54
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 JosiasSena/50b2bbb6063528c6dc7416ccee196921 to your computer and use it in GitHub Desktop.
Save JosiasSena/50b2bbb6063528c6dc7416ccee196921 to your computer and use it in GitHub Desktop.
get supported devices from developer portal
$(document).ready(function () {
var interval = setInterval(function () {
myTimer();
}, 5000);
function myTimer() {
var manufacturers = [];
var devices = [];
var elements = document.getElementsByTagName("li");
for (var i = 0; i < elements.length; i++) {
if (elements[i].hasAttribute("data-manufacturer-group")) {
manufacturers.push(elements[i]);
}
}
if (manufacturers.length > 0) {
clearInterval(interval);
for (var j = 0; j < manufacturers.length; j++) {
console.log(manufacturers[j].getElementsByTagName("h3")[0].innerHTML + " products: " + manufacturers[j].getElementsByTagName("ol")[0].getElementsByTagName("li").length);
for (var k = 0; k < manufacturers[j].getElementsByTagName("ol")[0].getElementsByTagName("li").length; k++) {
var manufacturer = manufacturers[j].getElementsByTagName("h3")[0].innerHTML;
var productIndex = manufacturers[j].getElementsByTagName("ol")[0].getElementsByTagName("li")[k].getElementsByTagName("span").length == 3 ? 1 : 0;
var product = manufacturers[j].getElementsByTagName("ol")[0].getElementsByTagName("li")[k].getElementsByTagName("span")[productIndex].innerHTML;
var nameIndex = manufacturers[j].getElementsByTagName("ol")[0].getElementsByTagName("li")[k].getElementsByTagName("span").length == 3 ? 2 : 1;
var name = manufacturers[j].getElementsByTagName("ol")[0].getElementsByTagName("li")[k].getElementsByTagName("span")[nameIndex].innerHTML.substring(2);
var isChecked = manufacturers[j].getElementsByTagName("ol")[0].getElementsByTagName("li")[k].getElementsByTagName("checkbox")[0].getAttribute("aria-checked");
if (isChecked != "true") {
devices.push({"manufacturer": manufacturer, "product": product, "name": name});
}
}
}
console.log("Manufacturers: " + manufacturers.length + " Devices: " + devices.length);
var text = "";
for (var d = 0; d < devices.length; d++) {
text += devices[d].manufacturer.trim() + " " + devices[d].product.trim() + " (" + devices[d].name.trim() + ")\n";
}
window.open("data:text/plain;charset=utf-8," + escape(text));
}
}
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment