diff --git a/js/reiseauskunft.js b/js/reiseauskunft.js index b58c796..cbe0109 100644 --- a/js/reiseauskunft.js +++ b/js/reiseauskunft.js @@ -6,7 +6,23 @@ 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 + */ +function bahnParseTrainName(dirty_train_name) { + var name_list = dirty_train_name.split(" "); + // Train 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) == ')') { + return name_list[0] + " " + name_list[2].substring(1, name_list[2].length-1); + } + + return dirty_train_name; +} var observer = new MutationObserver((mutations, observer) => { mutations.forEach((mutation) => { @@ -16,7 +32,7 @@ var observer = new MutationObserver((mutations, observer) => { var timetable = target.querySelector("td div.detailContainer table.result tbody"); var products = timetable.querySelectorAll("tr.first td.products"); products.forEach((product) => { - var train_name = product.querySelector("span a").innerText; + var train_name = bahnParseTrainName(product.querySelector("span a").innerText); product.innerHTML = product.innerHTML + ' '; }); var stations = timetable.querySelectorAll("tr td.station");