Unverified Commit 99852d76 authored by Birte Kristina Friesel's avatar Birte Kristina Friesel
Browse files

parse and expose messages

parent a956ddd5
Loading
Loading
Loading
Loading
+28 −0
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ my $mots;
my ( $first_class, $passengers );
my $developer_mode;
my ( $json_output, $raw_json_output );
my $verbose;
my $use_cache = 1;
my $show_full_route;
my $cache;
@@ -43,6 +44,7 @@ GetOptions(
	'l|language=s'         => \$language,
	'p|passengers=s'       => \$passengers,
	't|time=s'             => \$time,
	'v|verbose'            => \$verbose,
	'V|version'            => \&show_version,
	'cache!'               => \$use_cache,
	'devmode'              => \$developer_mode,
@@ -316,6 +318,19 @@ for my $connection ( $ris->connections ) {
		: q{},
		$header,
	);

	if ($verbose) {
		for my $note ( $connection->notes ) {
			printf( "| %s (%s)\n", $note->{value}, $note->{key} );
		}

		for my $msg ( $connection->messages ) {
			printf( "| %s\n", $msg->{text} );
		}
	}

	say q{};

	for my $segment ( $connection->segments ) {
		if ( $segment->is_transfer ) {
			for my $note ( $segment->transfer_notes ) {
@@ -382,6 +397,19 @@ for my $connection ( $ris->connections ) {
			$segment->arr_name,
			$segment->arr_platform ? q{  } . $segment->arr_platform : q{},
		);

		if ($verbose) {
			for my $msg ( $segment->messages_ris ) {
				printf( "| %s (%s)\n", $msg->{value}, $msg->{key} );
			}
			for my $msg ( $segment->messages_him ) {
				printf( "| %s\n", $msg->{text} );
			}
			for my $msg ( $segment->messages_prio ) {
				printf( "| %s\n", $msg->{text} );
			}
		}

		say q{};
	}
	say q{---------------------------------------};
+25 −0
Original line number Diff line number Diff line
@@ -94,6 +94,19 @@ sub new {
		$ref->{$key} = $ref->{segments}[-1]{$key};
	}

	for my $note ( @{ $json->{risNotizen} // [] } ) {
		push( @{ $ref->{notes} }, $note );
		if ( $note->{key} eq 'text.realtime.connection.cancelled' ) {
			$ref->{is_cancelled} = 1;
		}
		elsif ( $note->{key} eq 'text.realtime.connection.brokentrip' ) {
			$ref->{is_unlikely} = 1;
		}
	}
	for my $message ( @{ $json->{messages} // [] } ) {
		push( @{ $ref->{messages} }, $message );
	}

	bless( $ref, $obj );

	return $ref;
@@ -105,6 +118,18 @@ sub segments {
	return @{ $self->{segments} // [] };
}

sub notes {
	my ($self) = @_;

	return @{ $self->{notes} // [] };
}

sub messages {
	my ($self) = @_;

	return @{ $self->{messages} // [] };
}

sub TO_JSON {
	my ($self) = @_;