summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/Travel/Status/DE/IRIS/Result.pm173
1 files changed, 89 insertions, 84 deletions
diff --git a/lib/Travel/Status/DE/IRIS/Result.pm b/lib/Travel/Status/DE/IRIS/Result.pm
index 74f109f..9cb3ddb 100644
--- a/lib/Travel/Status/DE/IRIS/Result.pm
+++ b/lib/Travel/Status/DE/IRIS/Result.pm
@@ -16,6 +16,83 @@ use List::MoreUtils qw(none uniq firstval);
our $VERSION = '0.07';
+my %translation = (
+ 2 => 'Polizeiliche Ermittlung',
+ 3 => 'Feuerwehreinsatz neben der Strecke',
+ 5 => 'Ärztliche Versorgung eines Fahrgastes',
+ 6 => 'Betätigen der Notbremse',
+ 7 => 'Personen im Gleis',
+ 8 => 'Notarzteinsatz am Gleis',
+ 9 => 'Streikauswirkungen',
+ 10 => 'Ausgebrochene Tiere im Gleis',
+ 11 => 'Unwetter',
+ 13 => 'Pass- und Zollkontrolle',
+ 15 => 'Beeinträchtigung durch Vandalismus',
+ 16 => 'Entschärfung einer Fliegerbombe',
+ 17 => 'Beschädigung einer Brücke',
+ 18 => 'Umgestürzter Baum im Gleis',
+ 19 => 'Unfall an einem Bahnübergang',
+ 20 => 'Tiere im Gleis',
+ 21 => 'Warten auf weitere Reisende',
+ 22 => 'Witterungsbedingte Störung',
+ 23 => 'Feuerwehreinsatz auf Bahngelände',
+ 24 => 'Verspätung aus dem Ausland',
+ 25 => 'Warten auf verspätete Zugteile',
+ 28 => 'Gegenstände im Gleis',
+ 31 => 'Bauarbeiten',
+ 32 => 'Verzögerung beim Ein-/Ausstieg',
+ 33 => 'Oberleitungsstörung',
+ 34 => 'Signalstörung',
+ 35 => 'Streckensperrung',
+ 36 => 'Technische Störung am Zug',
+ 38 => 'Technische Störung an der Strecke',
+ 39 => 'Anhängen von zusätzlichen Wagen',
+ 40 => 'Stellwerksstörung/-ausfall',
+ 41 => 'Störung an einem Bahnübergang',
+ 42 => 'Außerplanmäßige Geschwindigkeitsbeschränkung',
+ 43 => 'Verspätung eines vorausfahrenden Zuges',
+ 44 => 'Warten auf einen entgegenkommenden Zug',
+ 45 => 'Überholung durch anderen Zug',
+ 46 => 'Warten auf freie Einfahrt',
+ 47 => 'Verspätete Bereitstellung',
+ 48 => 'Verspätung aus vorheriger Fahrt',
+ 55 => 'Technische Störung an einem anderen Zug', # ?
+ 56 => 'Warten auf Fahrgäste aus einem Bus',
+ 57 => 'Zusätzlicher Halt',
+ 58 => 'Umleitung', # ?
+ 59 => 'Schnee und Eis',
+ 60 => 'Reduzierte Geschwindigkeit wegen Sturm(?)',
+ 61 => 'Türstörung',
+ 62 => 'Behobene technische Störung am Zug',
+ 63 => 'Technische Untersuchung am Zug',
+ 64 => 'Weichenstörung',
+ 65 => 'Erdrutsch',
+ 73 => 'Mehrzweckabteil vorne',
+ 74 => 'Mehrzweckabteil hinten',
+ 75 => '1. Klasse vorne',
+ 76 => '1. Klasse hinten',
+ 77 => 'Ohne 1. Klasse',
+ 80 => 'Abweichende Wagenreihung',
+ 82 => 'Mehrere Wagen fehlen',
+ 83 => 'Fehlender Zugteil',
+ 84 => 'Zug verkehrt richtig gereiht', # r 80 82 83 85
+ 85 => 'Ein Wagen fehlt',
+ 86 => 'Keine Reservierungsanzeige',
+ 87 => 'Einzelne Wagen ohne Reservierungsanzeige',
+ 88 => 'Keine Qualitätsmängel', # r 80 82 83 85 86 87 90 91 92 93 96 97 98
+ 89 => 'Reservierungen sind wieder vorhanden',
+ 90 => 'Kein Bordrestaurant/Bordbistro',
+ 91 => 'Eingeschränkte Fahrradmitnahme',
+ 92 => 'Klimaanlage in einzelnen Wagen ausgefallen',
+ 93 => 'Fehlende oder gestörte behindertengerechte Einrichtung',
+ 94 => 'Ersatzbewirtschaftung',
+ 95 => 'Ohne behindertengerechtes WC',
+ 96 => 'Der Zug ist überbesetzt',
+ 97 => 'Der Zug ist überbesetzt',
+ 98 => 'Sonstige Qualitätsmängel',
+ 99 => 'Verzögerungen im Betriebsablauf',
+);
+
Travel::Status::DE::IRIS::Result->mk_ro_accessors(
qw(arrival classes date datetime delay departure is_cancelled is_transfer
line_no train_no_transfer old_train_id old_train_no platform raw_id
@@ -117,7 +194,7 @@ sub set_ar {
}
else {
$self->{arrival} = $self->{sched_arrival};
- $self->{delay} = 0;
+ $self->{delay} = 0;
}
if ( $attrib{platform} ) {
@@ -132,7 +209,7 @@ sub set_ar {
$self->{route_start} = $self->{route_pre}[0];
}
else {
- $self->{route_pre} = $self->{sched_route_pre};
+ $self->{route_pre} = $self->{sched_route_pre};
$self->{route_start} = $self->{sched_route_start};
}
@@ -176,7 +253,7 @@ sub set_dp {
}
else {
$self->{departure} = $self->{sched_departure};
- $self->{delay} = 0;
+ $self->{delay} = 0;
}
if ( $attrib{platform} ) {
@@ -192,7 +269,7 @@ sub set_dp {
}
else {
$self->{route_post} = $self->{sched_route_post};
- $self->{route_end} = $self->{sched_route_end};
+ $self->{route_end} = $self->{sched_route_end};
}
# also only for unscheduled departures
@@ -357,6 +434,12 @@ sub delay_messages {
return @ret;
}
+sub dump_message_codes {
+ my ($self) = @_;
+
+ return %translation;
+}
+
sub qos_messages {
my ($self) = @_;
@@ -366,7 +449,8 @@ sub qos_messages {
);
my @keys = sort keys %{ $self->{messages} };
- my @msgs = grep { $_->[1] ~~ [qw[f q]] } map { $self->{messages}{$_} } @keys;
+ my @msgs
+ = grep { $_->[1] ~~ [qw[f q]] } map { $self->{messages}{$_} } @keys;
my @ret;
for my $msg (@msgs) {
@@ -408,7 +492,6 @@ sub raw_messages {
return @ret;
}
-
sub messages {
my ($self) = @_;
@@ -557,84 +640,6 @@ sub superseded_messages {
sub translate_msg {
my ( $self, $msg ) = @_;
- my %translation = (
- 2 => 'Polizeiliche Ermittlung',
- 3 => 'Feuerwehreinsatz neben der Strecke',
- 5 => 'Ärztliche Versorgung eines Fahrgastes',
- 6 => 'Betätigen der Notbremse',
- 7 => 'Personen im Gleis',
- 8 => 'Notarzteinsatz am Gleis',
- 9 => 'Streikauswirkungen',
- 10 => 'Ausgebrochene Tiere im Gleis',
- 11 => 'Unwetter',
- 13 => 'Pass- und Zollkontrolle',
- 15 => 'Beeinträchtigung durch Vandalismus',
- 16 => 'Entschärfung einer Fliegerbombe',
- 17 => 'Beschädigung einer Brücke',
- 18 => 'Umgestürzter Baum im Gleis',
- 19 => 'Unfall an einem Bahnübergang',
- 20 => 'Tiere im Gleis',
- 21 => 'Warten auf weitere Reisende',
- 22 => 'Witterungsbedingte Störung',
- 23 => 'Feuerwehreinsatz auf Bahngelände',
- 24 => 'Verspätung aus dem Ausland',
- 25 => 'Warten auf verspätete Zugteile',
- 28 => 'Gegenstände im Gleis',
- 31 => 'Bauarbeiten',
- 32 => 'Verzögerung beim Ein-/Ausstieg',
- 33 => 'Oberleitungsstörung',
- 34 => 'Signalstörung',
- 35 => 'Streckensperrung',
- 36 => 'Technische Störung am Zug',
- 38 => 'Technische Störung an der Strecke',
- 39 => 'Anhängen von zusätzlichen Wagen',
- 40 => 'Stellwerksstörung/-ausfall',
- 41 => 'Störung an einem Bahnübergang',
- 42 => 'Außerplanmäßige Geschwindigkeitsbeschränkung',
- 43 => 'Verspätung eines vorausfahrenden Zuges',
- 44 => 'Warten auf einen entgegenkommenden Zug',
- 45 => 'Überholung durch anderen Zug',
- 46 => 'Warten auf freie Einfahrt',
- 47 => 'Verspätete Bereitstellung',
- 48 => 'Verspätung aus vorheriger Fahrt',
- 55 => 'Technische Störung an einem anderen Zug', # ?
- 56 => 'Warten auf Fahrgäste aus einem Bus',
- 57 => 'Zusätzlicher Halt',
- 58 => 'Umleitung', # ?
- 59 => 'Schnee und Eis',
- 60 => 'Reduzierte Geschwindigkeit wegen Sturm(?)',
- 61 => 'Türstörung',
- 62 => 'Behobene technische Störung am Zug',
- 63 => 'Technische Untersuchung am Zug',
- 64 => 'Weichenstörung',
- 65 => 'Erdrutsch',
- 73 => 'Mehrzweckabteil vorne',
- 74 => 'Mehrzweckabteil hinten',
- 75 => '1. Klasse vorne',
- 76 => '1. Klasse hinten',
- 77 => 'Ohne 1. Klasse',
- 80 => 'Abweichende Wagenreihung',
- 82 => 'Mehrere Wagen fehlen',
- 83 => 'Fehlender Zugteil',
- 84 => 'Zug verkehrt richtig gereiht', # r 80 82 83 85
- 85 => 'Ein Wagen fehlt',
- 86 => 'Keine Reservierungsanzeige',
- 87 => 'Einzelne Wagen ohne Reservierungsanzeige',
- 88 =>
- 'Keine Qualitätsmängel', # r 80 82 83 85 86 87 90 91 92 93 96 97 98
- 89 => 'Reservierungen sind wieder vorhanden',
- 90 => 'Kein Bordrestaurant/Bordbistro',
- 91 => 'Eingeschränkte Fahrradmitnahme',
- 92 => 'Klimaanlage in einzelnen Wagen ausgefallen',
- 93 => 'Fehlende oder gestörte behindertengerechte Einrichtung',
- 94 => 'Ersatzbewirtschaftung',
- 95 => 'Ohne behindertengerechtes WC',
- 96 => 'Der Zug ist überbesetzt',
- 97 => 'Der Zug ist überbesetzt',
- 98 => 'Sonstige Qualitätsmängel',
- 99 => 'Verzögerungen im Betriebsablauf',
- );
-
return $translation{$msg} // "?($msg)";
}