Changeset 719
- Timestamp:
- 05/13/06 03:23:25
- Files:
-
- trunk/plagger/lib/Plagger/Enclosure.pm (added)
- trunk/plagger/lib/Plagger/Entry.pm (modified) (2 diffs)
- trunk/plagger/lib/Plagger/Plugin/Aggregator/Simple.pm (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/plagger/lib/Plagger/Entry.pm
r384 r719 17 17 tags => [], 18 18 meta => {}, 19 enclosures => [], 19 20 }, $class; 20 21 } … … 69 70 } 70 71 72 sub add_enclosure { 73 my($self, $enclosure) = @_; 74 push @{ $self->{enclosures} }, $enclosure; 75 } 76 77 sub enclosure { 78 my $self = shift; 79 wantarray ? @{$self->{enclosures}} : $self->{enclosures}->[0]; 80 } 81 82 sub enclosures { 83 my $self = shift; 84 wantarray ? @{$self->{enclosures}} : $self->{enclosures}; 85 } 86 71 87 1; 72 88 trunk/plagger/lib/Plagger/Plugin/Aggregator/Simple.pm
r680 r719 4 4 5 5 use Feed::Find; 6 use Plagger::Enclosure; 6 7 use Plagger::UserAgent; 7 8 use List::Util qw(first); … … 137 138 $entry->body(_u($e->content->body || $e->summary->body)); 138 139 140 # enclosure support, to be added to XML::Feed 141 if ($remote->format =~ /^RSS / && $e->{entry}->{enclosure}) { 142 my $enclosure = Plagger::Enclosure->new; 143 $enclosure->url($e->{entry}->{enclosure}->{url}); 144 $enclosure->length($e->{entry}->{enclosure}->{length}); 145 $enclosure->type($e->{entry}->{enclosure}->{type}); 146 $entry->add_enclosure($enclosure); 147 } elsif ($remote->format eq 'Atom') { 148 for my $link ( grep { $_->rel eq 'enclosure' } $e->{entry}->link ) { 149 my $enclosure = Plagger::Enclosure->new; 150 $enclosure->url($link->href); 151 $enclosure->length($link->length); 152 $enclosure->type($link->type); 153 $entry->add_enclosure($enclosure); 154 } 155 } 156 139 157 my $args = { 140 158 entry => $entry,
