Loading lib/Travelynx.pm +52 −47 Original line number Diff line number Diff line Loading @@ -2269,6 +2269,51 @@ sub startup { } ); $self->helper( 'stationinfo_to_direction' => sub { my ( $self, $platform_info, $wagonorder, $prev_stop ) = @_; if ( $platform_info->{kopfgleis} ) { return $platform_info->{direction}; } elsif ( $prev_stop and exists $platform_info->{direction_from}{$prev_stop} ) { return $platform_info->{direction_from}{$prev_stop}; } elsif ($wagonorder) { my $wr; eval { $wr = Travel::Status::DE::DBWagenreihung->new( from_json => $wagonorder ); }; if ( $wr and $wr->sections and defined $wr->direction ) { my $section_0 = ( $wr->sections )[0]; my $direction = $wr->direction; if ( $section_0->name eq 'A' and $direction == 0 ) { return $platform_info->{direction}; } elsif ( $section_0->name ne 'A' and $direction == 100 ) { return $platform_info->{direction}; } elsif ( $platform_info->{direction} ) { return $platform_info->{direction} eq 'r' ? 'l' : 'r'; } return; } } } ); $self->helper( 'get_user_status' => sub { my ( $self, $uid ) = @_; Loading Loading @@ -2424,54 +2469,14 @@ sub startup { if ( $arr_platform_number and exists $in_transit->{data}{stationinfo_arr} {$arr_platform_number} ) { my $platform_info = $in_transit->{data}{stationinfo_arr} {$arr_platform_number}; if ( $platform_info->{kopfgleis} ) { $ret->{arr_direction} = $platform_info->{direction}; } elsif ( $stop_before_dest and exists $platform_info->{direction_from} {$stop_before_dest} ) { $ret->{arr_direction} = $platform_info->{direction_from} {$stop_before_dest}; } elsif ( $in_transit->{data}{wagonorder_arr} ) { my $wr; eval { $wr = Travel::Status::DE::DBWagenreihung->new( from_json => $in_transit->{data}{wagonorder_arr} ); }; if ( $wr and $wr->sections and defined $wr->direction ) { my $section_0 = ( $wr->sections )[0]; my $direction = $wr->direction; if ( $section_0->name eq 'A' and $direction == 0 ) { $ret->{arr_direction} = $platform_info->{direction}; } elsif ( $section_0->name ne 'A' and $direction == 100 ) { $ret->{arr_direction} = $platform_info->{direction}; } else { $ret->{arr_direction} = $platform_info->{direction} eq 'r' ? 'l' : 'r'; } } } = $self->stationinfo_to_direction( $in_transit->{data}{stationinfo_arr} {$arr_platform_number}, $in_transit->{data}{wagonorder_arr}, $stop_before_dest ); } } Loading Loading
lib/Travelynx.pm +52 −47 Original line number Diff line number Diff line Loading @@ -2269,6 +2269,51 @@ sub startup { } ); $self->helper( 'stationinfo_to_direction' => sub { my ( $self, $platform_info, $wagonorder, $prev_stop ) = @_; if ( $platform_info->{kopfgleis} ) { return $platform_info->{direction}; } elsif ( $prev_stop and exists $platform_info->{direction_from}{$prev_stop} ) { return $platform_info->{direction_from}{$prev_stop}; } elsif ($wagonorder) { my $wr; eval { $wr = Travel::Status::DE::DBWagenreihung->new( from_json => $wagonorder ); }; if ( $wr and $wr->sections and defined $wr->direction ) { my $section_0 = ( $wr->sections )[0]; my $direction = $wr->direction; if ( $section_0->name eq 'A' and $direction == 0 ) { return $platform_info->{direction}; } elsif ( $section_0->name ne 'A' and $direction == 100 ) { return $platform_info->{direction}; } elsif ( $platform_info->{direction} ) { return $platform_info->{direction} eq 'r' ? 'l' : 'r'; } return; } } } ); $self->helper( 'get_user_status' => sub { my ( $self, $uid ) = @_; Loading Loading @@ -2424,54 +2469,14 @@ sub startup { if ( $arr_platform_number and exists $in_transit->{data}{stationinfo_arr} {$arr_platform_number} ) { my $platform_info = $in_transit->{data}{stationinfo_arr} {$arr_platform_number}; if ( $platform_info->{kopfgleis} ) { $ret->{arr_direction} = $platform_info->{direction}; } elsif ( $stop_before_dest and exists $platform_info->{direction_from} {$stop_before_dest} ) { $ret->{arr_direction} = $platform_info->{direction_from} {$stop_before_dest}; } elsif ( $in_transit->{data}{wagonorder_arr} ) { my $wr; eval { $wr = Travel::Status::DE::DBWagenreihung->new( from_json => $in_transit->{data}{wagonorder_arr} ); }; if ( $wr and $wr->sections and defined $wr->direction ) { my $section_0 = ( $wr->sections )[0]; my $direction = $wr->direction; if ( $section_0->name eq 'A' and $direction == 0 ) { $ret->{arr_direction} = $platform_info->{direction}; } elsif ( $section_0->name ne 'A' and $direction == 100 ) { $ret->{arr_direction} = $platform_info->{direction}; } else { $ret->{arr_direction} = $platform_info->{direction} eq 'r' ? 'l' : 'r'; } } } = $self->stationinfo_to_direction( $in_transit->{data}{stationinfo_arr} {$arr_platform_number}, $in_transit->{data}{wagonorder_arr}, $stop_before_dest ); } } Loading