summaryrefslogtreecommitdiff
path: root/lib/Travel
diff options
context:
space:
mode:
authorBirte Kristina Friesel <derf@finalrewind.org>2024-04-02 14:40:15 +0200
committerBirte Kristina Friesel <derf@finalrewind.org>2024-04-02 14:40:15 +0200
commitfb76c6eb57c20177eca19d6fe03a573f378654f8 (patch)
treee5d05b7e2e93600c50d99c6c99dc7b590db150bc /lib/Travel
parent748fbc7695bafd467bf8e61d160971bcf5139d15 (diff)
Use service-specific time zones if ≠ Europe/Berlin
Diffstat (limited to 'lib/Travel')
-rw-r--r--lib/Travel/Status/DE/HAFAS.pm8
-rw-r--r--lib/Travel/Status/DE/HAFAS/Journey.pm3
2 files changed, 8 insertions, 3 deletions
diff --git a/lib/Travel/Status/DE/HAFAS.pm b/lib/Travel/Status/DE/HAFAS.pm
index 0017dca..bc1a423 100644
--- a/lib/Travel/Status/DE/HAFAS.pm
+++ b/lib/Travel/Status/DE/HAFAS.pm
@@ -63,6 +63,7 @@ my %hafas_instance = (
stopfinder => 'https://planner.bart.gov/bin/ajax-getstop.exe',
mgate => 'https://planner.bart.gov/bin/mgate.exe',
name => 'Bay Area Rapid Transit',
+ time_zone => 'America/Los_Angeles',
productbits => [
[ _ => undef ],
[ _ => undef ],
@@ -118,6 +119,7 @@ my %hafas_instance = (
'https://journeyplanner.irishrail.ie/bin/ajax-getstop.exe',
mgate => 'https://journeyplanner.irishrail.ie/bin/mgate.exe',
name => 'Iarnród Éireann',
+ time_zone => 'Europe/Dublin',
productbits => [
[ _ => undef ],
[ ic => 'national trains' ],
@@ -215,6 +217,7 @@ my %hafas_instance = (
mgate => 'https://fahrplan.oebb.at/bin/mgate.exe',
stopfinder => 'https://fahrplan.oebb.at/bin/ajax-getstop.exe',
name => 'Österreichische Bundesbahnen',
+ time_zone => 'Europe/Vienna',
productbits => [
[ ice_rj => 'long distance trains' ],
[ sev => 'rail replacement service' ],
@@ -328,7 +331,8 @@ sub new {
confess("The service '$service' is not supported");
}
- my $now = DateTime->now( time_zone => 'Europe/Berlin' );
+ my $now = DateTime->now( time_zone => $hafas_instance{$service}{time_zone}
+ // 'Europe/Berlin' );
my $self = {
active_service => $service,
arrivals => $conf{arrivals},
@@ -482,7 +486,7 @@ sub new {
$self->{strptime_obj} //= DateTime::Format::Strptime->new(
pattern => '%Y%m%dT%H%M%S',
- time_zone => 'Europe/Berlin',
+ time_zone => $hafas_instance{$service}{time_zone} // 'Europe/Berlin',
);
my $json = $self->{json} = JSON->new->utf8;
diff --git a/lib/Travel/Status/DE/HAFAS/Journey.pm b/lib/Travel/Status/DE/HAFAS/Journey.pm
index 14530ed..223dc13 100644
--- a/lib/Travel/Status/DE/HAFAS/Journey.pm
+++ b/lib/Travel/Status/DE/HAFAS/Journey.pm
@@ -94,7 +94,8 @@ sub new {
}
$datetime_ref = DateTime::Format::Strptime->new(
pattern => $parse_fmt,
- time_zone => 'Europe/Berlin'
+ time_zone => $hafas->get_active_service->{time_zone}
+ // 'Europe/Berlin'
)->parse_datetime($date_ref);
}