diff options
Diffstat (limited to 'bin/db-wagenreihung-to-json')
-rwxr-xr-x | bin/db-wagenreihung-to-json | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/bin/db-wagenreihung-to-json b/bin/db-wagenreihung-to-json index 893132e..9827523 100755 --- a/bin/db-wagenreihung-to-json +++ b/bin/db-wagenreihung-to-json @@ -172,6 +172,9 @@ for my $line (@lines) { $map{$number}{route} .= $+{route}; } elsif ( $state eq "route" and $line eq "" ) { + $state = "conditions"; + } + elsif ( $state eq "conditions" and $line =~ m{ Hg | Tfz | BrH }x ) { $state = "details"; } @@ -180,11 +183,23 @@ for my $line (@lines) { =~ m{ ^ \d* \s{1,10} (?<type> D? (WL)? (A|AB|B|W) R? D? [aceimpvw] \S* ) \s* (?<number> \d+ )? (?: $ | \s{6} ) }x ) { + $state = "wagonorder"; push( @{ $wagon_map{$number} }, [ $+{type}, $+{number} ] ); #$map{$number}{has_wagon}{$1} = \1; $map{$number}{wagons}{$1} = \1; } + + if ( $state eq "conditions" and length($line) and $line =~ m{ \S }x ) { + push( @{ $map{$number}{conditions} }, $line ); + } + + if ( $state eq "details" + and length($line) + and $line =~ m{ Hg | Tfz | BrH }x ) + { + push( @{ $map{$number}{details} }, $line ); + } } for my $train_number ( keys %map ) { |