Exclude specific products from parsing as train name
This commit is contained in:
parent
c2d96c6a98
commit
2ecf1b59af
@ -6,12 +6,15 @@ function getMediaURL(path) {
|
|||||||
path = "media/" + path;
|
path = "media/" + path;
|
||||||
return chrome.runtime.getURL(path) || browser.runtime.getURL(path);
|
return chrome.runtime.getURL(path) || browser.runtime.getURL(path);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return train name in format "PRODUCT TRAIN_NUMER"
|
* Return train name in format "PRODUCT TRAIN_NUMER"
|
||||||
* i.e. "ICE 112", "RE 12734"
|
* i.e. "ICE 112", "RE 12734"
|
||||||
* Sometimes train name is in format "PRODUCT LINE_NUMER (TRAIN_NUMER)"
|
* Sometimes train name is in format "PRODUCT LINE_NUMER (TRAIN_NUMER)"
|
||||||
* i.e. "STB 12 (62371)"
|
* i.e. "STB 12 (62371)"
|
||||||
* this will be cleaned up
|
* Sometimes 'trains' are not trains or we can't find an unique id for them
|
||||||
|
* i.e. busses, ferrys, trams
|
||||||
|
* they will also be cleaned up and returned as undefined, because we can't link to them correctly
|
||||||
*/
|
*/
|
||||||
function bahnParseTrainName(dirty_train_name) {
|
function bahnParseTrainName(dirty_train_name) {
|
||||||
var name_list = dirty_train_name.split(" ");
|
var name_list = dirty_train_name.split(" ");
|
||||||
@ -21,6 +24,11 @@ function bahnParseTrainName(dirty_train_name) {
|
|||||||
return name_list[0] + " " + name_list[2].substring(1, name_list[2].length-1);
|
return name_list[0] + " " + name_list[2].substring(1, name_list[2].length-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Exclude linking to specific products
|
||||||
|
if(["bus", "fäh", "str"].indexOf(name_list[0].toLowerCase()) !== -1) {
|
||||||
|
return undefined;
|
||||||
|
}
|
||||||
|
|
||||||
return dirty_train_name;
|
return dirty_train_name;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -33,7 +41,9 @@ var observer = new MutationObserver((mutations, observer) => {
|
|||||||
var products = timetable.querySelectorAll("tr.first td.products");
|
var products = timetable.querySelectorAll("tr.first td.products");
|
||||||
products.forEach((product) => {
|
products.forEach((product) => {
|
||||||
var train_name = bahnParseTrainName(product.querySelector("span a").innerText);
|
var train_name = bahnParseTrainName(product.querySelector("span a").innerText);
|
||||||
product.innerHTML = product.innerHTML + ' <a href="https://marudor.de/details/' + train_name + '" target="_blank"><img src="' + getMediaURL("marudor.svg") + '" style="height: 2em; vertical-align:middle;"></a>';
|
if(typeof train_name !== 'undefined') {
|
||||||
|
product.innerHTML = product.innerHTML + ' <a href="https://marudor.de/details/' + train_name + '" target="_blank"><img src="' + getMediaURL("marudor.svg") + '" style="height: 2em; vertical-align:middle;"></a>';
|
||||||
|
}
|
||||||
});
|
});
|
||||||
var stations = timetable.querySelectorAll("tr td.station");
|
var stations = timetable.querySelectorAll("tr td.station");
|
||||||
stations.forEach((station) => {
|
stations.forEach((station) => {
|
||||||
|
Loading…
Reference in New Issue
Block a user