mirror of
https://github.com/hak5/nano-tetra-modules.git
synced 2025-10-29 16:58:09 +00:00
first commit
This commit is contained in:
115
InternetSpeedTest/js/module.js
Normal file
115
InternetSpeedTest/js/module.js
Normal file
@@ -0,0 +1,115 @@
|
||||
registerController("InternetSpeedTestController", ['$api', '$scope','$window','$route', '$http', function ($api, $scope, $window, $route, $http) {
|
||||
|
||||
/*
|
||||
* Author: trashbo4t (github.com/trashbo4t)
|
||||
*/
|
||||
getPreviousTests();
|
||||
|
||||
$scope.previous = [];
|
||||
$scope.previousDisplay = [];
|
||||
$scope.throbber = true;
|
||||
$scope.loading = "Running";
|
||||
$scope.working = "Running speed test...";
|
||||
$scope.library = true;
|
||||
$scope.currentSpeedTest = false;
|
||||
$scope.currentSpeedTestData = {};
|
||||
$scope.fileToLookup = "";
|
||||
|
||||
function getPreviousTests() {
|
||||
$api.request({
|
||||
module: "InternetSpeedTest",
|
||||
action: "getPreviousTests"
|
||||
}, function (response) {
|
||||
console.log("getPreviousTests", response);
|
||||
|
||||
for (var i = 0; i < response.length; i++)
|
||||
{
|
||||
var ok = $scope.previous.includes(response[i])
|
||||
if (!ok)
|
||||
{
|
||||
var res = response[i].split("/");
|
||||
$scope.previous.push(response[i]);
|
||||
var res2 = res[5].split("-speedtest");
|
||||
$scope.previousDisplay.push(res2[0]);
|
||||
}
|
||||
}
|
||||
|
||||
$scope.previousDisplay.reverse();
|
||||
});
|
||||
};
|
||||
|
||||
$scope.reloadPage = function () {
|
||||
$api.request({
|
||||
module: "InternetSpeedTest",
|
||||
action: "clearLogFile",
|
||||
}, function (response) {
|
||||
});
|
||||
|
||||
$scope.currentSpeedTest = false;
|
||||
$window.location.reload()
|
||||
};
|
||||
|
||||
$scope.getSpeedTestFromFile = function (file) {
|
||||
file = file.replace(/(\r\n\t|\n|\r\t)/gm,"");
|
||||
$scope.fileToLookup = "/pineapple/modules/InternetSpeedTest/tests/"+file+"-speedtest";
|
||||
|
||||
console.log("getSpeedTestFromFile", "looking up speed test file " + $scope.fileToLookup);
|
||||
|
||||
$api.request({
|
||||
module: "InternetSpeedTest",
|
||||
action: "getSpeedTestFromFile",
|
||||
file: $scope.fileToLookup
|
||||
}, function (response) {
|
||||
$scope.currentSpeedTest = $scope.speedTestToLookup;
|
||||
|
||||
if (response == false)
|
||||
{
|
||||
$scope.currentSpeedTest = "Failed";
|
||||
$scope.currentSpeedTestData = "Invalid filename..";
|
||||
}
|
||||
else
|
||||
{
|
||||
$scope.currentSpeedTest = "Success";
|
||||
$scope.currentSpeedTestData = response;
|
||||
}
|
||||
|
||||
console.log("getSpeedTestFromFile response:", $scope.currentSpeedTestData);
|
||||
$scope.library = false;
|
||||
});
|
||||
};
|
||||
|
||||
$scope.startSpeedTest = function () {
|
||||
$scope.loading = "Loading";
|
||||
$scope.working = "Your Internet Speed Test is running. Please be patient, this may take a minute to finish depending on your internet speed.";
|
||||
$scope.throbber = true;
|
||||
|
||||
console.log("startSpeedTest", "starting test...");
|
||||
|
||||
$api.request({
|
||||
module: "InternetSpeedTest",
|
||||
action: "startSpeedTest",
|
||||
}, function (response) {
|
||||
console.log("startSpeedTest", response);
|
||||
|
||||
$scope.currentSpeedTest = "";
|
||||
if (response == false)
|
||||
{
|
||||
$scope.currentSpeedTest = "Failed";
|
||||
$scope.currentSpeedTestData = "Test failed. Verify you are connected to the internet.";
|
||||
}
|
||||
else
|
||||
{
|
||||
$scope.currentSpeedTest = "Success";
|
||||
$scope.currentSpeedTestData = response;
|
||||
$scope.fileToLookup = "Running speed test";
|
||||
}
|
||||
|
||||
// fire up the throbber
|
||||
$scope.working = "click anywhere to continue";
|
||||
$scope.loading = "Done";
|
||||
$scope.library = false;
|
||||
$scope.throbber = false;
|
||||
});
|
||||
|
||||
};
|
||||
}]);
|
||||
Reference in New Issue
Block a user