summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/Travel/Status/DE/IRIS.pm27
1 files changed, 16 insertions, 11 deletions
diff --git a/lib/Travel/Status/DE/IRIS.pm b/lib/Travel/Status/DE/IRIS.pm
index 9aef5a2..f46cb2b 100644
--- a/lib/Travel/Status/DE/IRIS.pm
+++ b/lib/Travel/Status/DE/IRIS.pm
@@ -65,6 +65,15 @@ sub new {
bless( $self, $class );
+ my $lookahead_steps = int( $self->{lookahead} / 60 );
+ if ( ( 60 - $self->{datetime}->minute ) < ( $self->{lookahead} % 60 ) ) {
+ $lookahead_steps++;
+ }
+ my $lookbehind_steps = int( $self->{lookbehind} / 60 );
+ if ( $self->{datetime}->minute < ( $self->{lookbehind} % 60 ) ) {
+ $lookbehind_steps++;
+ }
+
if ( not $self->{user_agent} ) {
my %lwp_options = %{ $opt{lwp_options} // { timeout => 10 } };
$self->{user_agent} = LWP::UserAgent->new(%lwp_options);
@@ -110,15 +119,6 @@ sub new {
return $self;
}
- my $lookahead_steps = int( $self->{lookahead} / 60 );
- if ( ( 60 - $self->{datetime}->minute ) < ( $self->{lookahead} % 60 ) ) {
- $lookahead_steps++;
- }
- my $lookbehind_steps = int( $self->{lookbehind} / 60 );
- if ( $self->{datetime}->minute < ( $self->{lookbehind} % 60 ) ) {
- $lookbehind_steps++;
- }
-
my $dt_req = $self->{datetime}->clone;
$self->get_timetable( $self->{station}{uic}, $dt_req );
for ( 1 .. $lookahead_steps ) {
@@ -133,6 +133,13 @@ sub new {
$self->get_realtime;
+ $self->postprocess_results;
+
+ return $self;
+}
+
+sub postprocess_results {
+ my ($self) = @_;
if ( not $self->{keep_transfers} ) {
# tra (transfer?) indicates a train changing its ID, so there are two
@@ -173,8 +180,6 @@ sub new {
# same goes for replacement refs (the <ref> tag in the fchg document)
$self->create_replacement_refs;
-
- return $self;
}
sub get_with_cache {