From 6c653dd2f0d8794ad10c8d938b4e30de40528837 Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Sat, 23 May 2009 12:56:54 +0200 Subject: efa: Fixed generic messages without time --- bin/efa | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/bin/efa b/bin/efa index ae562ab..f655805 100755 --- a/bin/efa +++ b/bin/efa @@ -67,12 +67,17 @@ sub parse_content($) { for (my $i = 0; @{$raw->[$offer]} >= (($i+1) * $groupsize); $i++) { $offset = $i * $groupsize; undef(@extra); + if ($raw->[$offer]->[$offset+2] =~ /^Fußweg/) { + # These are generic, which means they don't contain a time + splice(@{$raw->[$offer]}, $offset, 0, ''); + splice(@{$raw->[$offer]}, $offset+4, 0, ''); + } if ($raw->[$offer]->[$offset+3] =~ /^Fußweg/) { - # Fußweg messages lack the last element, so inject it + # These messages lack the last element, so inject it splice(@{$raw->[$offer]}, $offset+7, 0, ''); } for my $j (0, 4, 8) { - until (not exists($raw->[$offer]->[$offset+$j]) or $raw->[$offer]->[$offset+$j] =~ /^\d+:\d+$/) { + until (not exists($raw->[$offer]->[$offset+$j]) or $raw->[$offer]->[$offset+$j] =~ /^(\d+:\d+)?$/) { last unless (exists($raw->[$offer]->[$offset+$j])); last if ($raw->[$offer]->[$offset+$j] eq 'Verspätungen sind berücksichtigt'); if ($raw->[$offer]->[$offset+$j] =~ /^\s*$/) { -- cgit v1.2.3