diff options
author | Daniel Friesel <derf@finalrewind.org> | 2015-04-29 17:39:40 +0200 |
---|---|---|
committer | Daniel Friesel <derf@finalrewind.org> | 2015-04-29 17:39:40 +0200 |
commit | 506b66a84c4ec39d69c74f9a42d4f100909ac4a0 (patch) | |
tree | 11f36cc625cbbb7975f0dcc1563ccf75c250b019 /lib/Travel/Status/DE/EFA.pm | |
parent | 8a904bc1d3601ea72593b90f514354b08b832ccc (diff) |
add support for timeouts, do not die if XML tree parsing failed
Diffstat (limited to 'lib/Travel/Status/DE/EFA.pm')
-rw-r--r-- | lib/Travel/Status/DE/EFA.pm | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/lib/Travel/Status/DE/EFA.pm b/lib/Travel/Status/DE/EFA.pm index a895ca6..f8ea9f7 100644 --- a/lib/Travel/Status/DE/EFA.pm +++ b/lib/Travel/Status/DE/EFA.pm @@ -114,7 +114,9 @@ sub new { $self->{xml} = $response->decoded_content; - $self->{tree} = XML::LibXML->load_xml( string => $self->{xml}, ); + $self->{tree} = XML::LibXML->load_xml( + string => $self->{xml}, + ); #say $self->{tree}->toString(1); @@ -126,9 +128,13 @@ sub new { sub new_from_xml { my ( $class, %opt ) = @_; - my $self = { xml => $opt{xml}, }; + my $self = { + xml => $opt{xml}, + }; - $self->{tree} = XML::LibXML->load_xml( string => $self->{xml}, ); + $self->{tree} = XML::LibXML->load_xml( + string => $self->{xml}, + ); return bless( $self, $class ); } @@ -277,6 +283,10 @@ sub results { my ($self) = @_; my @results; + if ( not $self->{tree} ) { + return; + } + my $xp_element = XML::LibXML::XPathExpression->new('//itdDeparture'); my $xp_date = XML::LibXML::XPathExpression->new('./itdDateTime/itdDate'); |