/[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 1133 by dpavlin, Tue Jun 30 15:10:55 2009 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<XML::FeedPP>
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 XML::FeedPP;
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 );                  XML::FeedPP->new( $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 45  has title => ( Line 39  has title => (
39          default => sub { $_[0]->feed->title },          default => sub { $_[0]->feed->title },
40  );  );
41    
42  sub entries { $_[0]->feed->entries }  sub entries { $_[0]->feed->get_item() }
43    
44  sub data {  sub as_data {
45          my ($self) = @_;          my ($self) = @_;
46          return $self->entries;          # data should return single element!
47            [ $self->entries ];
48  }  }
49    
50    __PACKAGE__->meta->make_immutable;
51    no Moose;
52    
53  1;  1;

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

  ViewVC Help
Powered by ViewVC 1.1.26