9 |
|
|
10 |
use Data::Feed; |
use Data::Feed; |
11 |
use Frey::Types; |
use Frey::Types; |
12 |
|
use Data::Dump qw/dump/; |
13 |
|
|
14 |
with 'Frey::Storage'; |
with 'Frey::Storage'; |
15 |
|
|
25 |
lazy => 1, |
lazy => 1, |
26 |
default => sub { |
default => sub { |
27 |
my ($self) = @_; |
my ($self) = @_; |
28 |
|
my $path = 'var/feed/' . $self->uri->host . '/' . $self->uri->path; |
29 |
|
my $data = $self->load( $path ); |
30 |
|
if ( defined $data ) { |
31 |
|
return $data; |
32 |
|
} |
33 |
|
|
34 |
warn "parse ", $self->uri; |
warn "parse ", $self->uri; |
35 |
Data::Feed->parse( $self->uri ); |
my $feed = Data::Feed->parse( $self->uri ); |
36 |
|
|
37 |
|
warn "# data ", dump( $feed ); |
38 |
|
$self->store( $path, $feed ); |
39 |
}, |
}, |
40 |
); |
); |
41 |
|
|
45 |
default => sub { $_[0]->feed->title }, |
default => sub { $_[0]->feed->title }, |
46 |
); |
); |
47 |
|
|
48 |
sub entries { [ $_[0]->feed->entries ] } |
sub entries { $_[0]->feed->entries } |
|
|
|
|
use Data::Dump qw/dump/; |
|
49 |
|
|
50 |
sub data { |
sub data { |
51 |
my ($self) = @_; |
my ($self) = @_; |
|
my $path = 'var/feed/' . $self->uri->host . '/' . $self->uri->path; |
|
|
my $data = $self->load( $path ); |
|
|
return $data if defined $data; |
|
|
|
|
|
warn "# fetch ",$self->uri; |
|
|
warn "# data ", dump( $self->entries ); |
|
|
$self->store( $path, ( $self->entries ) ); |
|
52 |
return $self->entries; |
return $self->entries; |
53 |
} |
} |
54 |
|
|