-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathufind-extract-lva-daten.user.js
45 lines (42 loc) · 1.6 KB
/
ufind-extract-lva-daten.user.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
// ==UserScript==
// @name Extract LVA-Daten template for vowi.fsinf.at
// @namespace https://vowi.fsinf.at/
// @match https://ufind.univie.ac.at/de/course.html
// @match https://ufind.univie.ac.at/en/course.html
// @description Does not work with Greasemonkey because of https://github.com/greasemonkey/greasemonkey/issues/2700
// @grant none
// @version 1.3
// @downloadURL https://fsinf.at/userscripts/ufind-extract-lva-daten.user.js
// @updateURL https://fsinf.at/userscripts/ufind-extract-lva-daten.user.js
// ==/UserScript==
function vowiLink(ns, id) {
return 'https://vowi.fsinf.at/wiki/Spezial:CourseById?ns=' + ns + '&id=' + id;
}
document.addEventListener('ufind:finished', function (e) {
var id = document.getElementsByClassName('number')[0].textContent + '/' + document.getElementsByClassName('when')[0].textContent;
var a = document.createElement("a");
a.href = vowiLink('Uni_Wien', id);
a.innerHTML = 'zum VoWi';
document.getElementsByClassName('details')[0].insertAdjacentElement('afterend', a);
var ects = parseFloat(document.getElementsByClassName('ects')[0].textContent);
var lecturers = [];
$('.lecturers a').each(function(){
lecturers.push('[[ufind.person:'+this.href.split('=')[1] +'|'+this.textContent+']]');
});
var block = document.createElement("pre");
block.textContent = `{{LVA-Daten
| ects = `+ects+`;
| vortragende = `+lecturers.join(', ')+`
| abteilung =
| homepage =
| id = `+id+`
| wann =
| sprache =
| zuordnungen =
<!--
{{Zuordnung|A033667|Modulname1}}
{{Zuordnung|A066867|Modulname2|wahl=1}}
-->
}}`;
a.insertAdjacentElement('afterend', block);
}, false);