use bahn.expert as new domain for marudor.de

This commit is contained in:
marudor 2022-08-19 17:21:41 +02:00 committed by Daniel Friesel
parent 0e14df21d2
commit dbe379a34d
7 changed files with 11 additions and 11 deletions

View file

@ -1,7 +1,7 @@
#!/usr/bin/python3 #!/usr/bin/python3
# This script queries the Travelynx API if you are checked into a train. If # This script queries the Travelynx API if you are checked into a train. If
# yes, marudor.de is additionally queried for the next stop, and a JSON object # yes, bahn.expert is additionally queried for the next stop, and a JSON object
# like this is written to stdout: # like this is written to stdout:
# {"full_text": "RE26824, next: D\u00fcren at <span fgcolor=\"#ff0000\">15:38+5</span>, dest: Aachen Hbf at <span fgcolor=\"#ff0000\">16:07+5</span>", "markup": "pango"}, # {"full_text": "RE26824, next: D\u00fcren at <span fgcolor=\"#ff0000\">15:38+5</span>, dest: Aachen Hbf at <span fgcolor=\"#ff0000\">16:07+5</span>", "markup": "pango"},
# The script then exits. # The script then exits.
@ -80,7 +80,7 @@ predicted_arrival_timestamp = j["toStation"]["realTime"]
delay = (predicted_arrival_timestamp - scheduled_arrival_timestamp) / 60 delay = (predicted_arrival_timestamp - scheduled_arrival_timestamp) / 60
try: try:
details_res = requests.get(f"https://marudor.de/api/hafas/v2/details/{train}") details_res = requests.get(f"https://bahn.expert/api/hafas/v2/details/{train}")
details = details_res.json() details = details_res.json()
# print(json.dumps(details, sort_keys=True, indent=4), file=sys.stderr) # print(json.dumps(details, sort_keys=True, indent=4), file=sys.stderr)
next_stop_name = details["currentStop"]["station"]["title"] next_stop_name = details["currentStop"]["station"]["title"]

View file

@ -130,7 +130,7 @@ sub startup {
# security and usability for websites that want to maintain user's logged-in # security and usability for websites that want to maintain user's logged-in
# session after the user arrives from an external link". In practice, # session after the user arrives from an external link". In practice,
# Safari (both iOS and macOS) does not send a SameSite=lax cookie when # Safari (both iOS and macOS) does not send a SameSite=lax cookie when
# following a link from an external site. So, marudor.de providing a # following a link from an external site. So, bahn.expert providing a
# checkin link to travelynx.de/s/whatever does not work because the user # checkin link to travelynx.de/s/whatever does not work because the user
# is not logged in due to Safari not sending the cookie. # is not logged in due to Safari not sending the cookie.
# #

View file

@ -1072,7 +1072,7 @@ my @migrations = (
# v24 -> v25 # v24 -> v25
# travelynx 1.23 adds optional links to external services, e.g. # travelynx 1.23 adds optional links to external services, e.g.
# DBF or marudor.de departure boards # DBF or bahn.expert departure boards
sub { sub {
my ($db) = @_; my ($db) = @_;
$db->query( $db->query(

View file

@ -13,9 +13,9 @@ use DateTime;
my @sb_templates = ( my @sb_templates = (
undef, undef,
[ 'DBF', 'https://dbf.finalrewind.org/{name}?rt=1#{tt}{tn}' ], [ 'DBF', 'https://dbf.finalrewind.org/{name}?rt=1#{tt}{tn}' ],
[ 'marudor.de', 'https://marudor.de/{name}#{id}' ], [ 'marudor.de', 'https://bahn.expert/{name}#{id}' ],
[ 'NVM', 'https://nvm.finalrewind.org/board/{eva}#{tt}{tn}' ], [ 'NVM', 'https://nvm.finalrewind.org/board/{eva}#{tt}{tn}' ],
[ 'marudor.de/regional', 'https://marudor.de/regional/{name}#{id}' ], [ 'marudor.de/regional', 'https://bahn.expert/regional/{name}#{id}' ],
); );
sub new { sub new {

View file

@ -78,7 +78,7 @@
% @wagons = reverse @wagons; % @wagons = reverse @wagons;
% } % }
% } % }
<a href="https://marudor.de/details/<%= $journey->{train_type} %>%20<%= $journey->{train_no} %>/<%= DateTime->now(time_zone => 'Europe/Berlin')->iso8601 %>?station=<%= $journey->{dep_eva} %>"> <a href="https://bahn.expert/details/<%= $journey->{train_type} %>%20<%= $journey->{train_no} %>/<%= DateTime->now(time_zone => 'Europe/Berlin')->iso8601 %>?station=<%= $journey->{dep_eva} %>">
%= $direction %= $direction
% for my $wagon (@wagons) { % for my $wagon (@wagons) {
% if (not ($wagon->is_locomotive or $wagon->is_powercar)) { % if (not ($wagon->is_locomotive or $wagon->is_powercar)) {
@ -297,7 +297,7 @@
% } % }
</div> </div>
<div class="card-action"> <div class="card-action">
% my $url = 'https://marudor.de/details/' . $journey->{train_type} . ' ' . $journey->{train_no} . '/' . DateTime->now(time_zone => 'Europe/Berlin')->epoch . '000'; % my $url = 'https://bahn.expert/details/' . $journey->{train_type} . ' ' . $journey->{train_no} . '/' . DateTime->now(time_zone => 'Europe/Berlin')->epoch . '000';
<a style="margin-right: 0;" href="<%= $url %>" aria-label="Zuglauf"><i class="material-icons left">timeline</i> Zuglauf</a> <a style="margin-right: 0;" href="<%= $url %>" aria-label="Zuglauf"><i class="material-icons left">timeline</i> Zuglauf</a>
% if ($journey->{extra_data}{trip_id}) { % if ($journey->{extra_data}{trip_id}) {
<a class="right" style="margin-right: 0;" href="https://dbf.finalrewind.org/map/<%= $journey->{extra_data}{trip_id} %>/<%= $journey->{train_line} || 0 %>?from=<%= $journey->{dep_name} %>&amp;to=<%= $journey->{arr_name} %>&amp;dark=<%= (session('theme') and session('theme') eq 'dark') ? 1 : 0 %>"><i class="material-icons left" aria-hidden="true">map</i> Karte</a> <a class="right" style="margin-right: 0;" href="https://dbf.finalrewind.org/map/<%= $journey->{extra_data}{trip_id} %>/<%= $journey->{train_line} || 0 %>?from=<%= $journey->{dep_name} %>&amp;to=<%= $journey->{arr_name} %>&amp;dark=<%= (session('theme') and session('theme') eq 'dark') ? 1 : 0 %>"><i class="material-icons left" aria-hidden="true">map</i> Karte</a>

View file

@ -151,7 +151,7 @@
% if ($journey->{traewelling_url}) { % if ($journey->{traewelling_url}) {
<a style="margin-right: 0;" href="<%= $journey->{traewelling_url} %>"><i class="material-icons left">timeline</i> Träwelling</a> <a style="margin-right: 0;" href="<%= $journey->{traewelling_url} %>"><i class="material-icons left">timeline</i> Träwelling</a>
% } else { % } else {
% my $url = 'https://marudor.de/details/' . $journey->{train_type} . ' ' . $journey->{train_no} . '/' . DateTime->now(time_zone => 'Europe/Berlin')->epoch . '000'; % my $url = 'https://bahn.expert/details/' . $journey->{train_type} . ' ' . $journey->{train_no} . '/' . DateTime->now(time_zone => 'Europe/Berlin')->epoch . '000';
<a style="margin-right: 0;" href="<%= $url %>"><i class="material-icons left">timeline</i> Zuglauf</a> <a style="margin-right: 0;" href="<%= $url %>"><i class="material-icons left">timeline</i> Zuglauf</a>
% } % }
% if ($journey->{extra_data}{trip_id}) { % if ($journey->{extra_data}{trip_id}) {

View file

@ -42,7 +42,7 @@
<div> <div>
<label> <label>
%= radio_button stationboard => '2' %= radio_button stationboard => '2'
<span><a href="https://marudor.de/">marudor.de</a> (Schienenverkehr)</span> <span><a href="https://bahn.expert/">bahn.expert</a> (Schienenverkehr)</span>
</label> </label>
</div> </div>
</div> </div>
@ -52,7 +52,7 @@
<div> <div>
<label> <label>
%= radio_button stationboard => '4' %= radio_button stationboard => '4'
<span><a href="https://marudor.de/regional">marudor.de/regional</a> (Nahverkehr)</span> <span><a href="https://bahn.expert/regional">bahn.expert/regional</a> (Nahverkehr)</span>
</label> </label>
</div> </div>
</div> </div>