From 0c6b8879c3c91bb2708e0f03f7d1641f760a6624 Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Wed, 18 Sep 2013 21:17:56 +0200 Subject: Add Line->key and JSON export --- lib/Travel/Status/DE/VRR.pm | 4 ++++ lib/Travel/Status/DE/VRR/Line.pm | 7 +++++++ lib/Travel/Status/DE/VRR/Result.pm | 14 +++++++++++++- 3 files changed, 24 insertions(+), 1 deletion(-) (limited to 'lib/Travel/Status') diff --git a/lib/Travel/Status/DE/VRR.pm b/lib/Travel/Status/DE/VRR.pm index 20a9ca2..89e9843 100644 --- a/lib/Travel/Status/DE/VRR.pm +++ b/lib/Travel/Status/DE/VRR.pm @@ -113,6 +113,8 @@ sub new { $self->{tree} = XML::LibXML->load_xml( string => $self->{xml}, ); + # say $self->{tree}->toString(1); + $self->check_for_ambiguous(); return $self; @@ -313,6 +315,7 @@ sub results { my $line = $e_line->getAttribute('number'); my $dest = $e_line->getAttribute('direction'); my $info = $e_info->textContent; + my $key = $e_line->getAttribute('key'); my $countdown = $e->getAttribute('countdown'); my $delay = $e_info->getAttribute('delay') // 0; my $type = $e_info->getAttribute('name'); @@ -334,6 +337,7 @@ sub results { time => $rtime, platform => $platform, platform_db => $platform_is_db, + key => $key, lineref => $line_obj[0] // undef, line => $line, destination => decode( 'UTF-8', $dest ), diff --git a/lib/Travel/Status/DE/VRR/Line.pm b/lib/Travel/Status/DE/VRR/Line.pm index 9f7b228..5c12980 100644 --- a/lib/Travel/Status/DE/VRR/Line.pm +++ b/lib/Travel/Status/DE/VRR/Line.pm @@ -18,6 +18,13 @@ sub new { return bless( $ref, $obj ); } + +sub TO_JSON { + my ($self) = @_; + + return { %{$self} }; +} + 1; __END__ diff --git a/lib/Travel/Status/DE/VRR/Result.pm b/lib/Travel/Status/DE/VRR/Result.pm index a6e294e..05f86d9 100644 --- a/lib/Travel/Status/DE/VRR/Result.pm +++ b/lib/Travel/Status/DE/VRR/Result.pm @@ -9,7 +9,7 @@ use parent 'Class::Accessor'; our $VERSION = '1.03'; Travel::Status::DE::VRR::Result->mk_ro_accessors( - qw(countdown date delay destination info line lineref platform + qw(countdown date delay destination info key line lineref platform platform_db sched_date sched_time time type) ); @@ -20,6 +20,13 @@ sub new { return bless( $ref, $obj ); } + +sub TO_JSON { + my ($self) = @_; + + return { %{$self} }; +} + 1; __END__ @@ -86,6 +93,11 @@ an address were requested, this is the stop name, otherwise it may be recent news related to the line's schedule. If no information is available, returns an empty string. +=item $departure->key + +Unknown. Appears to be the UUID for this departure (unique over all +lines, reused daily). + =item $departure->line The name/number of the line. -- cgit v1.2.3