Loading bin/db-wagenreihung +5 −2 Original line number Diff line number Diff line Loading @@ -70,8 +70,11 @@ my $wr = Travel::Status::DE::DBWagenreihung->new( train_number => $train_number, ); printf( "%s %s in %s Gleis %s\n", $wr->train_type, $wr->train_no, $wr->station_name, $wr->platform ); printf( "%s %s (%s) in %s Gleis %s\n\n", $wr->train_type, $wr->train_no, $wr->train_subtype, $wr->station_name, $wr->platform ); for my $section ( $wr->sections ) { my $section_length = $section->length_percent; Loading lib/Travel/Status/DE/DBWagenreihung.pm +58 −0 Original line number Diff line number Diff line Loading @@ -155,6 +155,64 @@ sub train_no { return $self->{data}{istformation}{zugnummer}; } sub train_subtype { my ($self) = @_; my @wagons = $self->wagons; my %ml = ( 'ICE 1' => 0, 'ICE 2' => 0, 'ICE 3' => 0, 'ICE 3 V' => 0, 'ICE 4' => 0, 'ICE T 411' => 0, 'ICE T 415' => 0, 'IC2' => 0, ); for my $wagon (@wagons) { if ( $wagon->model == 401 or ( $wagon->model >= 801 and $wagon->model <= 804 ) ) { $ml{'ICE 1'}++; } elsif ( $wagon->model == 402 or ( $wagon->model >= 805 and $wagon->model <= 808 ) ) { $ml{'ICE 2'}++; } elsif ( $wagon->model == 403 or $wagon->model == 406 ) { $ml{'ICE 3'}++; } elsif ( $wagon->model == 407 ) { $ml{'ICE 3 V'}++; } elsif ( $wagon->model == 412 or $wagon->model == 812 ) { $ml{'ICE 4'}++; } elsif ( $wagon->model == 411 ) { $ml{'ICE T 411'}++; } elsif ( $wagon->model == 415 ) { $ml{'ICE T 415'}++; } elsif ( $wagon->is_dosto ) { $ml{'IC2'}++; } } my @likelihood = reverse sort { $ml{$a} <=> $ml{$b} } keys %ml; if ( $ml{ $likelihood[0] } <= 2 ) { # inconclusive return '???'; } return $likelihood[0]; } sub wagons { my ($self) = @_; Loading Loading
bin/db-wagenreihung +5 −2 Original line number Diff line number Diff line Loading @@ -70,8 +70,11 @@ my $wr = Travel::Status::DE::DBWagenreihung->new( train_number => $train_number, ); printf( "%s %s in %s Gleis %s\n", $wr->train_type, $wr->train_no, $wr->station_name, $wr->platform ); printf( "%s %s (%s) in %s Gleis %s\n\n", $wr->train_type, $wr->train_no, $wr->train_subtype, $wr->station_name, $wr->platform ); for my $section ( $wr->sections ) { my $section_length = $section->length_percent; Loading
lib/Travel/Status/DE/DBWagenreihung.pm +58 −0 Original line number Diff line number Diff line Loading @@ -155,6 +155,64 @@ sub train_no { return $self->{data}{istformation}{zugnummer}; } sub train_subtype { my ($self) = @_; my @wagons = $self->wagons; my %ml = ( 'ICE 1' => 0, 'ICE 2' => 0, 'ICE 3' => 0, 'ICE 3 V' => 0, 'ICE 4' => 0, 'ICE T 411' => 0, 'ICE T 415' => 0, 'IC2' => 0, ); for my $wagon (@wagons) { if ( $wagon->model == 401 or ( $wagon->model >= 801 and $wagon->model <= 804 ) ) { $ml{'ICE 1'}++; } elsif ( $wagon->model == 402 or ( $wagon->model >= 805 and $wagon->model <= 808 ) ) { $ml{'ICE 2'}++; } elsif ( $wagon->model == 403 or $wagon->model == 406 ) { $ml{'ICE 3'}++; } elsif ( $wagon->model == 407 ) { $ml{'ICE 3 V'}++; } elsif ( $wagon->model == 412 or $wagon->model == 812 ) { $ml{'ICE 4'}++; } elsif ( $wagon->model == 411 ) { $ml{'ICE T 411'}++; } elsif ( $wagon->model == 415 ) { $ml{'ICE T 415'}++; } elsif ( $wagon->is_dosto ) { $ml{'IC2'}++; } } my @likelihood = reverse sort { $ml{$a} <=> $ml{$b} } keys %ml; if ( $ml{ $likelihood[0] } <= 2 ) { # inconclusive return '???'; } return $likelihood[0]; } sub wagons { my ($self) = @_; Loading