Changeset 750
- Timestamp:
- 05/15/06 21:43:32
- Files:
-
- trunk/plagger/lib/Plagger/Entry.pm (modified) (1 diff)
- trunk/plagger/lib/Plagger/Plugin/Filter/FindEnclosures.pm (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/plagger/lib/Plagger/Entry.pm
r732 r750 72 72 sub add_enclosure { 73 73 my($self, $enclosure) = @_; 74 push @{ $self->{enclosures} }, $enclosure; 74 75 # don't add enclosure with the same URL again and again 76 unless ($enclosure->url && grep { $_->url && $_->url eq $enclosure->url } $self->enclosures) { 77 push @{ $self->{enclosures} }, $enclosure; 78 } 75 79 } 76 80 trunk/plagger/lib/Plagger/Plugin/Filter/FindEnclosures.pm
r749 r750 20 20 my($self, $context, $args) = @_; 21 21 22 # check $entry->link first, if it links directly to media files 23 $self->add_enclosure($args->{entry}, [ 'a', { href => $args->{entry}->link } ], 'href' ); 24 22 25 my $parser = HTML::TokeParser->new(\$args->{entry}->body); 23 26 while (my $tag = $parser->get_tag('a', 'embed', 'img')) { 24 27 if ($tag->[0] eq 'a' ) { 25 $self->add_enclosure($args , $tag, 'href');28 $self->add_enclosure($args->{entry}, $tag, 'href'); 26 29 } elsif ($tag->[0] eq 'embed') { 27 $self->add_enclosure($args , $tag, 'src');30 $self->add_enclosure($args->{entry}, $tag, 'src'); 28 31 } elsif ($tag->[0] eq 'img') { 29 $self->add_enclosure($args , $tag, 'src', 1);32 $self->add_enclosure($args->{entry}, $tag, 'src', 1); 30 33 } 31 34 } … … 33 36 34 37 sub add_enclosure { 35 my($self, $ args, $tag, $attr, $inline) = @_;38 my($self, $entry, $tag, $attr, $inline) = @_; 36 39 37 40 if ($self->is_enclosure($tag, $attr)) { … … 41 44 $enclosure->auto_set_type; 42 45 $enclosure->is_inline($inline); 43 $ args->{entry}->add_enclosure($enclosure);46 $entry->add_enclosure($enclosure); 44 47 } 45 48 }
