1
0
Fork 0

Compare commits

...

4 Commits

Author SHA1 Message Date
clerie 60ae28c9d3 Train link to dbf 2020-09-19 23:35:59 +02:00
clerie c0f50dfe3e Move timestamp to date object 2020-09-19 23:35:35 +02:00
clerie 5c89d26691 Add train id to data 2020-09-19 23:06:19 +02:00
clerie efec9271c3 Linking to trains with timestamp 2020-09-19 23:02:42 +02:00
1 changed files with 22 additions and 3 deletions

View File

@ -32,6 +32,15 @@ function bahnParseTrainName(dirty_train_name) {
return dirty_train_name;
}
/**
* Returns date string in format YYYYMMDDHHMM
*
* @param datetime Date object
*/
function datetimeToYYYYMMDDHHMM(datetime) {
return datetime.getFullYear().toString().padStart(4, '0') + "" + (datetime.getMonth()+1).toString().padStart(2, '0') + "" + datetime.getDate().toString().padStart(2, '0') + "" + datetime.getHours().toString().padStart(2, '0') + "" + datetime.getMinutes().toString().padStart(2, '0')
}
/**
* Returns HTML a as DOM object
*
@ -193,6 +202,7 @@ var connection_result_observer = new MutationObserver((mutations) => {
// Prodcut details
data[i]["products"][j]["product"] = null;
data[i]["products"][j]["train_id"] = null;
data[i]["products"][j]["train_number"] = null;
data[i]["products"][j]["line_name"] = null;
@ -201,14 +211,15 @@ var connection_result_observer = new MutationObserver((mutations) => {
// Product name in format "STB 12 (23561)"
if(name_list.length == 3 && name_list[2].charAt(0) == '(' && name_list[2].charAt(name_list[2].length-1) == ')') {
data[i]["products"][j]["product"] = name_list[0];
data[i]["products"][j]["train_number"] = name_list[0] + " " + name_list[2].substring(1, name_list[2].length-1);
data[i]["products"][j]["train_id"] = name_list[2].substring(1, name_list[2].length-1)
data[i]["products"][j]["line_name"] = name_list[0] + " " + name_list[1];
}
// Product name in format "ICE 234"
else {
data[i]["products"][j]["product"] = name_list[0];
data[i]["products"][j]["train_number"] = name_list[0] + " " + name_list[1];
data[i]["products"][j]["train_id"] = name_list[1];
}
data[i]["products"][j]["train_number"] = data[i]["products"][j]["product"] + " " + data[i]["products"][j]["train_id"];
});
// Travel information
@ -236,10 +247,15 @@ var connection_result_observer = new MutationObserver((mutations) => {
var bahn_insight_field = domCreateBahnInsightField();
product.after(bahn_insight_field);
var departure_time = new Date(Date.parse(connection_result_date + " " + data[i]["from"]["time"]));
// Button linking to marudor.de
var marudor_button = domCreateButtonMarudor("/details/" + data[i]["products"][j]["train_number"]);
var marudor_button = domCreateButtonMarudor("/details/" + data[i]["products"][j]["train_number"] + "/" + departure_time.getTime());
bahn_insight_field.appendChild(marudor_button);
var dbf_button = domCreateButtonDbf("/_wr/" + data[i]["products"][j]["train_id"] + "/" + datetimeToYYYYMMDDHHMM(departure_time));
bahn_insight_field.appendChild(dbf_button);
// Move linebreaks from link inner, after our 'bahn-insight' field
var linebreaks = product.querySelectorAll("br");
if(linebreaks.length != 0) {
@ -282,6 +298,9 @@ var connection_result_observer = new MutationObserver((mutations) => {
var target = document.getElementById('resultsOverview');
if(typeof target !== 'undefined') {
var connection_result_date = document.querySelector("html body div div div.resultContentHolder form div h2 span").innerText.replace(/(\d{2})\.(\d{2})\.(\d{2})/,'20$3-$2-$1');
connection_result_observer.observe(target, {
subtree: true,
childList: true