Skip to content

Instantly share code, notes, and snippets.

@fones
Last active October 12, 2019 15:38
Show Gist options
  • Save fones/e37a0e4e4f1cb579ffa36d18ad42e365 to your computer and use it in GitHub Desktop.
Save fones/e37a0e4e4f1cb579ffa36d18ad42e365 to your computer and use it in GitHub Desktop.
SPDSK export

Ten skrypt pozwala wyeksportować wyniki z systemu SPDSK do pliku CSV.

  1. Logujemy się do e-portalu SPDSK.
  2. Wchodzimy w wyniki.
  3. Wybieramy konkretne badanie klikając "Podgląd wyniku badania".
  4. W dolnej szpalcie wybieramy zakładkę "Console" (Konsola) i wklejamy cały kod.
  5. Teraz możemy wyeksportować wyniki klikając w link "Export do CSV" który pojawił się na stronie po wklejeniu kodu.
  6. Po kliknięciu w link podajemy jaką datą i godziną ma zostać oznaczone badanie w pliku CSV. Tą samą datą zostanie nazwany sam plik.
  7. Plik powinien się pobrać po zatwierdzeniu.
  8. Aby nie musieć wklejać za każdym razem kodu można skorzystać z rozszerzenia do Chrome o nazwie Tampermonkey i tam wkeić ten kod, wtedy to rozszerzenie za każdym razem wykona kroki 4 i 5. Nam zostanie tylko krok 6.
// ==UserScript==
// @name Wyniki
// @namespace http://tampermonkey.net/
// @version 0.1
// @description try to take over the world!
// @author You
// @match https://eportal.spdsk.edu.pl/web/module/perfService/perfService.jsf
// @grant none
// ==/UserScript==
(function() {
'use strict';
var val = function(s) {
return s ? s.replace('.', ',') : s
}
window.wyniki = function () {
return $('#renderedForm .col-sm-0 input').map(function(i, e) {
return ['name', 'value', 'lower-norm', 'upper-norm'].reduce(function(a, i) {
a[i] = $(e).attr(i);
return a;
}, {});
} )
}
window.wynikiCSV = function (data) {
var w = window.wyniki()
for(var i = 0; i < w.length; i++) {
var r = w[i];
console.log(data + ';' + r['name'] + ';' + (val(r['value']) || '') + ';' + (val(r['lower-norm']) || '') + ';' + (val(r['upper-norm']) || ''))
}
}
window.wynikiCSVfile = function (data) {
var w = window.wyniki()
var file = "data:text/csv;charset=utf-8,";
for(var i = 0; i < w.length; i++) {
var r = w[i];
var row = data + ';' + val(r['name']) + ';' + (val(r['value']) || '') + ';' + (val(r['lower-norm']) || '') + ';' + (val(r['upper-norm']) || '')
file += row + "\r\n";
}
var encodedUri = encodeURI(file).replace(/#/g, '%23')
var link = document.createElement("a");
link.setAttribute("href", encodedUri);
link.setAttribute("download", data.replace(/:/g, '-') + ".csv");
document.body.appendChild(link);
link.click();
}
var box = document.getElementById('mainContentWithMenu');
var exportLink = document.createElement("a");
exportLink.innerHTML = "Export do CSV"
exportLink.addEventListener('click', function () {
var filename = prompt("Data exportu", "2019-10-11 12:00:00");
window.wynikiCSVfile(filename);
});
box.prepend(exportLink)
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment