summaryrefslogtreecommitdiffstats
path: root/lib/Crawl/Bot/Role/RSS.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Crawl/Bot/Role/RSS.pm')
-rw-r--r--lib/Crawl/Bot/Role/RSS.pm4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/Crawl/Bot/Role/RSS.pm b/lib/Crawl/Bot/Role/RSS.pm
index 8576a82..7a0177e 100644
--- a/lib/Crawl/Bot/Role/RSS.pm
+++ b/lib/Crawl/Bot/Role/RSS.pm
@@ -2,6 +2,7 @@ package Crawl::Bot::Role::RSS;
use Moose::Role;
use XML::RAI;
+use Try::Tiny;
with 'Crawl::Bot::Role::CachedItems';
@@ -9,7 +10,8 @@ requires 'rss_feed';
sub current_items {
my $self = shift;
- my $rss = XML::RAI->parse_uri($self->rss_feed);
+ my $rss = try { XML::RAI->parse_uri($self->rss_feed) } catch { warn $_ };
+ return unless ref($rss) eq 'ARRAY';
# after the XML::RAI object goes out of scope, the item objects become
# worthless. how dumb. capture the relevant data in some hashrefs instead.
return map {