Loading bin/db-wagenreihung +7 −3 Original line number Diff line number Diff line Loading @@ -71,9 +71,13 @@ my $wr = Travel::Status::DE::DBWagenreihung->new( ); printf( "%s %s (%s) in %s Gleis %s\n\n", $wr->train_type, $wr->train_no, $wr->train_subtype // '-', $wr->station_name, $wr->platform "%s: %s → %s (%s)\n%s Gleis %s\n\n", join( ' / ', map { $wr->train_type . ' ' . $_ } $wr->train_numbers ), join( ' / ', $wr->origins ), join( ' / ', $wr->destinations ), $wr->train_subtype // 'IC?', $wr->station_name, $wr->platform ); for my $section ( $wr->sections ) { Loading lib/Travel/Status/DE/DBWagenreihung.pm +61 −0 Original line number Diff line number Diff line Loading @@ -8,6 +8,7 @@ our $VERSION = '0.00'; use Carp qw(cluck confess); use JSON; use List::Util qw(uniq); use LWP::UserAgent; use Travel::Status::DE::DBWagenreihung::Section; use Travel::Status::DE::DBWagenreihung::Wagon; Loading Loading @@ -92,6 +93,46 @@ sub direction { return $self->{direction}; } sub origins { my ($self) = @_; if ( exists $self->{origins} ) { return @{ $self->{origins} }; } my @origins; for my $group ( @{ $self->{data}{istformation}{allFahrzeuggruppe} } ) { push( @origins, $group->{startbetriebsstellename} ); } @origins = uniq @origins; $self->{origins} = \@origins; return @origins; } sub destinations { my ($self) = @_; if ( exists $self->{destinations} ) { return @{ $self->{destinations} }; } my @destinations; for my $group ( @{ $self->{data}{istformation}{allFahrzeuggruppe} } ) { push( @destinations, $group->{zielbetriebsstellename} ); } @destinations = uniq @destinations; $self->{destinations} = \@destinations; return @destinations; } sub platform { my ($self) = @_; Loading Loading @@ -149,6 +190,26 @@ sub train_type { return $self->{data}{istformation}{zuggattung}; } sub train_numbers { my ($self) = @_; if ( exists $self->{train_numbers} ) { return @{ $self->{train_numbers} }; } my @numbers; for my $group ( @{ $self->{data}{istformation}{allFahrzeuggruppe} } ) { push( @numbers, $group->{verkehrlichezugnummer} ); } @numbers = uniq @numbers; $self->{train_numbers} = \@numbers; return @numbers; } sub train_no { my ($self) = @_; Loading Loading
bin/db-wagenreihung +7 −3 Original line number Diff line number Diff line Loading @@ -71,9 +71,13 @@ my $wr = Travel::Status::DE::DBWagenreihung->new( ); printf( "%s %s (%s) in %s Gleis %s\n\n", $wr->train_type, $wr->train_no, $wr->train_subtype // '-', $wr->station_name, $wr->platform "%s: %s → %s (%s)\n%s Gleis %s\n\n", join( ' / ', map { $wr->train_type . ' ' . $_ } $wr->train_numbers ), join( ' / ', $wr->origins ), join( ' / ', $wr->destinations ), $wr->train_subtype // 'IC?', $wr->station_name, $wr->platform ); for my $section ( $wr->sections ) { Loading
lib/Travel/Status/DE/DBWagenreihung.pm +61 −0 Original line number Diff line number Diff line Loading @@ -8,6 +8,7 @@ our $VERSION = '0.00'; use Carp qw(cluck confess); use JSON; use List::Util qw(uniq); use LWP::UserAgent; use Travel::Status::DE::DBWagenreihung::Section; use Travel::Status::DE::DBWagenreihung::Wagon; Loading Loading @@ -92,6 +93,46 @@ sub direction { return $self->{direction}; } sub origins { my ($self) = @_; if ( exists $self->{origins} ) { return @{ $self->{origins} }; } my @origins; for my $group ( @{ $self->{data}{istformation}{allFahrzeuggruppe} } ) { push( @origins, $group->{startbetriebsstellename} ); } @origins = uniq @origins; $self->{origins} = \@origins; return @origins; } sub destinations { my ($self) = @_; if ( exists $self->{destinations} ) { return @{ $self->{destinations} }; } my @destinations; for my $group ( @{ $self->{data}{istformation}{allFahrzeuggruppe} } ) { push( @destinations, $group->{zielbetriebsstellename} ); } @destinations = uniq @destinations; $self->{destinations} = \@destinations; return @destinations; } sub platform { my ($self) = @_; Loading Loading @@ -149,6 +190,26 @@ sub train_type { return $self->{data}{istformation}{zuggattung}; } sub train_numbers { my ($self) = @_; if ( exists $self->{train_numbers} ) { return @{ $self->{train_numbers} }; } my @numbers; for my $group ( @{ $self->{data}{istformation}{allFahrzeuggruppe} } ) { push( @numbers, $group->{verkehrlichezugnummer} ); } @numbers = uniq @numbers; $self->{train_numbers} = \@numbers; return @numbers; } sub train_no { my ($self) = @_; Loading