1
0
Fork 0

Compare commits

...

3 Commits

Author SHA1 Message Date
clerie a4c68ec801 Version 0.3 2020-09-16 13:48:12 +02:00
clerie 2ecf1b59af Exclude specific products from parsing as train name 2020-09-16 13:45:43 +02:00
clerie c2d96c6a98 Fixed readme 2020-09-16 13:25:10 +02:00
3 changed files with 13 additions and 4 deletions

View File

@ -11,7 +11,6 @@ TBD
2. Entpacken
3. In Firefox nach `about:debugging` navigieren
4. Add-on temporär laden
5. YouTube aufrufen
Die Installation besteht nur während der aktuellen Session.

View File

@ -6,12 +6,15 @@ function getMediaURL(path) {
path = "media/" + path;
return chrome.runtime.getURL(path) || browser.runtime.getURL(path);
}
/**
* Return train name in format "PRODUCT TRAIN_NUMER"
* i.e. "ICE 112", "RE 12734"
* Sometimes train name is in format "PRODUCT LINE_NUMER (TRAIN_NUMER)"
* 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) {
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);
}
// Exclude linking to specific products
if(["bus", "fäh", "str"].indexOf(name_list[0].toLowerCase()) !== -1) {
return undefined;
}
return dirty_train_name;
}
@ -33,7 +41,9 @@ var observer = new MutationObserver((mutations, observer) => {
var products = timetable.querySelectorAll("tr.first td.products");
products.forEach((product) => {
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");
stations.forEach((station) => {

View File

@ -2,7 +2,7 @@
"manifest_version": 2,
"name": "Bahn Insight",
"version": "0.2",
"version": "0.3",
"description": "Extends the booking portal of bahn.de with linking to useful information.",
"homepage_url": "https://git.clerie.de/clerie/bahn-insight/",