/[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 295 by dpavlin, Wed Nov 5 08:21:06 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 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 24  has feed => ( Line 28  has feed => (
28          lazy => 1,          lazy => 1,
29          default => sub {          default => sub {
30                  my ($self) = @_;                  my ($self) = @_;
31                  warn "parse ", $self->uri;                  my $xml = Frey::Mirror->new( uri => $self->uri )->content;
32                  Data::Feed->parse( $self->uri );                  XML::FeedPP->new( $xml );
33          },          },
34  );  );
35    
36  has title => (  has title => (
37          is => 'ro',          is => 'ro',
38          lazy => 1,          lazy => 1,
39          default => sub { $_[0]->feed->title }          default => sub { $_[0]->feed->title },
40  );  );
41    
42  use Data::Dump qw/dump/;  sub entries { $_[0]->feed->get_item() }
43    
44  sub data {  sub as_data {
45          my ($self) = @_;          my ($self) = @_;
46          my $path = 'var/feed/' . $self->uri->host . '/' . $self->uri->path;          # data should return single element!
47          my $data = $self->load( $path );          [ $self->entries ];
         return $data if $data;  
   
         warn "# fetch ",$self->uri;  
         warn "# data ", dump( $self->feed->entries );  
         $self->store( $path, $self->feed->entries );  
         return $self->feed->entries;;  
48  }  }
49    
50    __PACKAGE__->meta->make_immutable;
51    no Moose;
52    
53  1;  1;

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

  ViewVC Help
Powered by ViewVC 1.1.26