5 |
|
|
6 |
package Grep::Source::Feed; |
package Grep::Source::Feed; |
7 |
|
|
8 |
|
use base 'Jifty::Object'; |
9 |
|
|
10 |
use Data::Dump qw/dump/; |
use Data::Dump qw/dump/; |
11 |
|
|
12 |
=head2 fetch |
=head2 fetch |
29 |
die $feed->title . " returned " . $r->status_line . " for $uri\n" unless ( $r->is_success ); |
die $feed->title . " returned " . $r->status_line . " for $uri\n" unless ( $r->is_success ); |
30 |
my $content = $r->content; |
my $content = $r->content; |
31 |
|
|
32 |
|
$parent->save('feed.xml', $content); |
33 |
|
|
34 |
die "No content returned from $uri\n" unless length( $content ) > 1; |
die "No content returned from $uri\n" unless length( $content ) > 1; |
35 |
|
|
36 |
my $xml_feed = XML::Feed->parse( \$content ) |
my $xml_feed = XML::Feed->parse( \$content ) |
37 |
or die $feed->title, " returned ", XML::Feed->errstr, "\n"; |
or die $feed->title, " returned ", XML::Feed->errstr, "\n"; |
38 |
|
|
39 |
warn "getting entries from ", $xml_feed->title, "\n"; |
$self->log->debug("getting entries from ", $xml_feed->title); |
40 |
|
|
41 |
for my $entry ($xml_feed->entries) { |
for my $entry ($xml_feed->entries) { |
42 |
|
|
43 |
$parent->add_record( |
$parent->add_record( |
44 |
in_feed => $feed, |
in_feed => $feed, |
45 |
title => $entry->title, |
title => $entry->title || $entry->link, |
46 |
link => $entry->link, |
link => $entry->link, |
47 |
content => $entry->content->body, |
content => $entry->content->body, |
48 |
summary => $entry->summary->body, |
summary => $entry->summary->body, |