Changeset 680
- Timestamp:
- 05/05/06 15:28:11
- Files:
-
- trunk/plagger/lib/Plagger/Plugin/Aggregator/Simple.pm (modified) (4 diffs)
- trunk/plagger/lib/Plagger/Plugin/Aggregator/Xango.pm (modified) (1 diff)
- trunk/plagger/lib/Plagger/Plugin/Publish/Planet.pm (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/plagger/lib/Plagger/Plugin/Aggregator/Simple.pm
r648 r680 33 33 my $content = $res->content; 34 34 if ( $Feed::Find::IsFeed{$content_type} || $self->looks_like_feed(\$content) ) { 35 $self->handle_feed($url, \$content );35 $self->handle_feed($url, \$content, $args->{feed}); 36 36 } else { 37 37 my @feeds = Feed::Find->find_in_html(\$content, $url); … … 39 39 $url = $feeds[0]; 40 40 $res = $self->fetch_content($url) or return; 41 $self->handle_feed($url, \$res->content );41 $self->handle_feed($url, \$res->content, $args->{feed}); 42 42 } else { 43 43 return; … … 76 76 77 77 sub handle_feed { 78 my($self, $url, $xml_ref ) = @_;78 my($self, $url, $xml_ref, $feed) = @_; 79 79 80 80 my $context = Plagger->context; … … 90 90 } 91 91 92 my $feed= Plagger::Feed->new;92 $feed ||= Plagger::Feed->new; 93 93 $feed->title(_u($remote->title)); 94 94 $feed->url($url); trunk/plagger/lib/Plagger/Plugin/Aggregator/Xango.pm
r479 r680 43 43 my $url = $args->{feed}->url; 44 44 return unless $url =~ m!^https?://!i; 45 46 $self->{_url2feed}->{$url} = $args->{feed}; # map from url to feed object 47 45 48 $context->log(info => "Fetch $url"); 46 49 POE::Kernel->post($self->{xango_alias}, 'enqueue_job', Xango::Job->new(uri => URI->new($url), redirect => 0)); 50 } 51 52 sub handle_feed { 53 my($self, $url, $xml_ref) = @_; 54 $self->SUPER::handle_feed($url, $xml_ref, $self->{_url2feed}->{$url}); 47 55 } 48 56 trunk/plagger/lib/Plagger/Plugin/Publish/Planet.pm
r445 r680 61 61 %{ $self->conf->{template} }, 62 62 feed => $feed, 63 members => $self->_get_members($context, $feed),63 members => [ $context->subscription->feeds ], 64 64 }, \my $out) or $context->error($tt->error); 65 65 $out; … … 94 94 } 95 95 96 sub _get_members {97 my ($self, $context, $feed) = @_;98 99 my %members;100 foreach my $entry ($feed->entries) {101 unless ($members{$entry->source->id}) {102 $members{$entry->source->id} = {103 title => $entry->source->title,104 link => $entry->source->link,105 };106 }107 }108 109 return [ sort { $a->{title} cmp $b->{title} } values %members ];110 }111 112 96 1; 113 97
