Commit 1bb9d02f authored by Birte Kristina Friesel's avatar Birte Kristina Friesel
Browse files

Result Add translation accessor

parent 6ad32ebd
Loading
Loading
Loading
Loading
+89 −84
Original line number Diff line number Diff line
@@ -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
@@ -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)";
}