Skip to content
Snippets Groups Projects
Commit e0b8e874 authored by Jonas Zohren's avatar Jonas Zohren :speech_balloon:
Browse files

Add new file

parents
Branches
No related tags found
No related merge requests found
// ==UserScript==
// @name assess_userscript
// @namespace http://tampermonkey.net/
// @version 0.1
// @include https://ess.cs.tu-dortmund.de/ASSESS/*
// ==/UserScript==
const timetable = `
<table class="calendar">
<thead class="days-week">
<tr>
<th></th>
<th style="width:70px">Mo</th>
<th style="width:70px">Di</th>
<th style="width:70px">Mi</th>
<th style="width:70px">Do</th>
<th style="width:70px">Fr</th>
</tr>
</thead>
<tbody>
<tr style="height:4px;"><td>8:00</td><td id="mo_800"></td><td id="di_800"></td><td id="mi_800"></td><td id="do_800"></td><td id="fr_800"></td></tr>
<tr style="height:4px;"><td>8:15</td><td id="mo_815"></td><td id="di_815"></td><td id="mi_815"></td><td id="do_815"></td><td id="fr_815"></td></tr>
<tr style="height:4px;"><td>8:30</td><td id="mo_830"></td><td id="di_830"></td><td id="mi_830"></td><td id="do_830"></td><td id="fr_830"></td></tr>
<tr style="height:4px;"><td>8:45</td><td id="mo_845"></td><td id="di_845"></td><td id="mi_845"></td><td id="do_845"></td><td id="fr_845"></td></tr>
<tr style="height:4px;"><td>9:00</td><td id="mo_900"></td><td id="di_900"></td><td id="mi_900"></td><td id="do_900"></td><td id="fr_900"></td></tr>
<tr style="height:4px;"><td>9:15</td><td id="mo_915"></td><td id="di_915"></td><td id="mi_915"></td><td id="do_915"></td><td id="fr_915"></td></tr>
<tr style="height:4px;"><td>9:30</td><td id="mo_930"></td><td id="di_930"></td><td id="mi_930"></td><td id="do_930"></td><td id="fr_930"></td></tr>
<tr style="height:4px;"><td>9:45</td><td id="mo_945"></td><td id="di_945"></td><td id="mi_945"></td><td id="do_945"></td><td id="fr_945"></td></tr>
<tr style="height:4px;"><td>10:00</td><td id="mo_1000"></td><td id="di_1000"></td><td id="mi_1000"></td><td id="do_1000"></td><td id="fr_1000"></td></tr>
<tr style="height:4px;"><td>10:15</td><td id="mo_1015"></td><td id="di_1015"></td><td id="mi_1015"></td><td id="do_1015"></td><td id="fr_1015"></td></tr>
<tr style="height:4px;"><td>10:30</td><td id="mo_1030"></td><td id="di_1030"></td><td id="mi_1030"></td><td id="do_1030"></td><td id="fr_1030"></td></tr>
<tr style="height:4px;"><td>10:45</td><td id="mo_1045"></td><td id="di_1045"></td><td id="mi_1045"></td><td id="do_1045"></td><td id="fr_1045"></td></tr>
<tr style="height:4px;"><td>11:00</td><td id="mo_1100"></td><td id="di_1100"></td><td id="mi_1100"></td><td id="do_1100"></td><td id="fr_1100"></td></tr>
<tr style="height:4px;"><td>11:15</td><td id="mo_1115"></td><td id="di_1115"></td><td id="mi_1115"></td><td id="do_1115"></td><td id="fr_1115"></td></tr>
<tr style="height:4px;"><td>11:30</td><td id="mo_1130"></td><td id="di_1130"></td><td id="mi_1130"></td><td id="do_1130"></td><td id="fr_1130"></td></tr>
<tr style="height:4px;"><td>11:45</td><td id="mo_1145"></td><td id="di_1145"></td><td id="mi_1145"></td><td id="do_1145"></td><td id="fr_1145"></td></tr>
<tr style="height:4px;"><td>12:00</td><td id="mo_1200"></td><td id="di_1200"></td><td id="mi_1200"></td><td id="do_1200"></td><td id="fr_1200"></td></tr>
<tr style="height:4px;"><td>12:15</td><td id="mo_1215"></td><td id="di_1215"></td><td id="mi_1215"></td><td id="do_1215"></td><td id="fr_1215"></td></tr>
<tr style="height:4px;"><td>12:30</td><td id="mo_1230"></td><td id="di_1230"></td><td id="mi_1230"></td><td id="do_1230"></td><td id="fr_1230"></td></tr>
<tr style="height:4px;"><td>12:45</td><td id="mo_1245"></td><td id="di_1245"></td><td id="mi_1245"></td><td id="do_1245"></td><td id="fr_1245"></td></tr>
<tr style="height:4px;"><td>13:00</td><td id="mo_1300"></td><td id="di_1300"></td><td id="mi_1300"></td><td id="do_1300"></td><td id="fr_1300"></td></tr>
<tr style="height:4px;"><td>13:15</td><td id="mo_1315"></td><td id="di_1315"></td><td id="mi_1315"></td><td id="do_1315"></td><td id="fr_1315"></td></tr>
<tr style="height:4px;"><td>13:30</td><td id="mo_1330"></td><td id="di_1330"></td><td id="mi_1330"></td><td id="do_1330"></td><td id="fr_1330"></td></tr>
<tr style="height:4px;"><td>13:45</td><td id="mo_1345"></td><td id="di_1345"></td><td id="mi_1345"></td><td id="do_1345"></td><td id="fr_1345"></td></tr>
<tr style="height:4px;"><td>14:00</td><td id="mo_1400"></td><td id="di_1400"></td><td id="mi_1400"></td><td id="do_1400"></td><td id="fr_1400"></td></tr>
<tr style="height:4px;"><td>14:15</td><td id="mo_1415"></td><td id="di_1415"></td><td id="mi_1415"></td><td id="do_1415"></td><td id="fr_1415"></td></tr>
<tr style="height:4px;"><td>14:30</td><td id="mo_1430"></td><td id="di_1430"></td><td id="mi_1430"></td><td id="do_1430"></td><td id="fr_1430"></td></tr>
<tr style="height:4px;"><td>14:45</td><td id="mo_1445"></td><td id="di_1445"></td><td id="mi_1445"></td><td id="do_1445"></td><td id="fr_1445"></td></tr>
<tr style="height:4px;"><td>15:00</td><td id="mo_1500"></td><td id="di_1500"></td><td id="mi_1500"></td><td id="do_1500"></td><td id="fr_1500"></td></tr>
<tr style="height:4px;"><td>15:15</td><td id="mo_1515"></td><td id="di_1515"></td><td id="mi_1515"></td><td id="do_1515"></td><td id="fr_1515"></td></tr>
<tr style="height:4px;"><td>15:30</td><td id="mo_1530"></td><td id="di_1530"></td><td id="mi_1530"></td><td id="do_1530"></td><td id="fr_1530"></td></tr>
<tr style="height:4px;"><td>15:45</td><td id="mo_1545"></td><td id="di_1545"></td><td id="mi_1545"></td><td id="do_1545"></td><td id="fr_1545"></td></tr>
<tr style="height:4px;"><td>16:00</td><td id="mo_1600"></td><td id="di_1600"></td><td id="mi_1600"></td><td id="do_1600"></td><td id="fr_1600"></td></tr>
<tr style="height:4px;"><td>16:15</td><td id="mo_1615"></td><td id="di_1615"></td><td id="mi_1615"></td><td id="do_1615"></td><td id="fr_1615"></td></tr>
<tr style="height:4px;"><td>16:30</td><td id="mo_1630"></td><td id="di_1630"></td><td id="mi_1630"></td><td id="do_1630"></td><td id="fr_1630"></td></tr>
<tr style="height:4px;"><td>16:45</td><td id="mo_1645"></td><td id="di_1645"></td><td id="mi_1645"></td><td id="do_1645"></td><td id="fr_1645"></td></tr>
<tr style="height:4px;"><td>17:00</td><td id="mo_1700"></td><td id="di_1700"></td><td id="mi_1700"></td><td id="do_1700"></td><td id="fr_1700"></td></tr>
<tr style="height:4px;"><td>17:15</td><td id="mo_1715"></td><td id="di_1715"></td><td id="mi_1715"></td><td id="do_1715"></td><td id="fr_1715"></td></tr>
<tr style="height:4px;"><td>17:30</td><td id="mo_1730"></td><td id="di_1730"></td><td id="mi_1730"></td><td id="do_1730"></td><td id="fr_1730"></td></tr>
<tr style="height:4px;"><td>17:45</td><td id="mo_1745"></td><td id="di_1745"></td><td id="mi_1745"></td><td id="do_1745"></td><td id="fr_1745"></td></tr>
</tbody>
</table>
`;
function timeSlotDiff(s, e) {
return ((e%100)/15 + 4*((e-(e%100))/100)) - ((s%100)/15 + 4*((s-(s%100))/100))
}
function run()
{
const prioTable = document.getElementsByTagName('table')[0];
prioTable.insertAdjacentHTML('afterend', timetable);
const trs = prioTable.getElementsByTagName('tr');
const timeslots = []
for (let i = 1; i+1 < trs.length; i++) {
let row = trs[i].getElementsByTagName('td');
// get time info
let timeStr = row[0].textContent;
const startNum = parseInt(timeStr.substr(6,2)+ timeStr.substr(9,2))
const endNum = parseInt(timeStr.substr(14,2)+ timeStr.substr(17,2))
const slotLen = timeSlotDiff(startNum, endNum)
const slotStartId = timeStr.substr(1,2).toLowerCase()+'_'+ startNum
// get prio info
const rankElem = row[2].getElementsByTagName('div')[0].getElementsByTagName('div')[2]
// enter into timetable
const slotElem = document.getElementById(slotStartId)
slotElem.setAttribute("rowspan", slotLen)
slotElem.innerHTML = rankElem.textContent
slotElem.setAttribute("style","background-color: #726a6a;")
console.log(slotStartId + ' -> '+slotLen)
}
}
(function() {
'use strict';
run()
})();
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment