/[Frey]/trunk/lib/Frey/Feed.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/lib/Frey/Feed.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 297 by dpavlin, Wed Nov 5 08:21:08 2008 UTC revision 606 by dpavlin, Fri Nov 28 22:22:07 2008 UTC
# Line 1  Line 1 
1  package Frey::Feed;  package Frey::Feed;
2  use Moose;  use Moose;
3    
4    extends 'Frey';
5    with 'Frey::Storage';
6    
7  =head1 NAME  =head1 NAME
8    
9  Frey::Feed - represent RSS/Atom feed using L<Data::Feed>  Frey::Feed - represent RSS/Atom feed using L<Data::Feed>
10    
11  =cut  =cut
12    
 use Data::Feed;  
13  use Frey::Types;  use Frey::Types;
14  use Data::Dump qw/dump/;  use Frey::Mirror;
15    
16  with 'Frey::Storage';  use Data::Feed;
17    use Data::Dump qw/dump/;
18    
19  has uri => (  has uri => (
20          is => 'rw',          is => 'rw',
# Line 25  has feed => ( Line 28  has feed => (
28          lazy => 1,          lazy => 1,
29          default => sub {          default => sub {
30                  my ($self) = @_;                  my ($self) = @_;
31                  my $path = 'var/feed/' . $self->uri->host . '/' . $self->uri->path;                  my $xml = Frey::Mirror->new( uri => $self->uri )->content;
32                  my $data = $self->load( $path );                  Data::Feed->parse( \$xml );
                 if ( defined $data ) {  
                         return $data;  
                 }  
   
                 warn "parse ", $self->uri;  
                 my $feed = Data::Feed->parse( $self->uri );  
   
                 warn "# data ", dump( $feed );  
                 $self->store( $path, $feed );  
33          },          },
34  );  );
35    
# Line 47  has title => ( Line 41  has title => (
41    
42  sub entries { $_[0]->feed->entries }  sub entries { $_[0]->feed->entries }
43    
44  sub data {  sub as_data {
45          my ($self) = @_;          my ($self) = @_;
46          return $self->entries;          # data should return single element!
47            [ $self->feed->entries ];
48  }  }
49    
50  1;  1;

Legend:
Removed from v.297  
changed lines
  Added in v.606

  ViewVC Help
Powered by ViewVC 1.1.26