Changeset 437
- Timestamp:
- 03/31/06 23:31:23
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/plagger/lib/Plagger/Plugin/Aggregator/Xango.pm
r430 r437 25 25 UseCache => exists $self->conf->{use_cache} ? 26 26 $self->conf->{use_cache} : 1, 27 BrokerAlias => $xango_args{Alias}, 27 28 ); 28 29 Xango::Broker::Push->spawn(%xango_args); … … 49 50 package Plagger::Plugin::Aggregator::Xango::Crawler; 50 51 use strict; 52 use Feed::Find; 51 53 use POE; 52 54 use Storable qw(freeze thaw); … … 59 61 60 62 POE::Session->create( 61 heap => { PLUGIN => $args{Plugin}, USE_CACHE => $args{UseCache} }, 63 heap => { 64 PLUGIN => $args{Plugin}, USE_CACHE => $args{UseCache}, 65 BROKER_ALIAS => $args{BrokerAlias}, 66 }, 62 67 package_states => [ 63 68 $class => [ qw(_start _stop apply_policy prep_request handle_response) ] … … 92 97 93 98 return unless $r->is_success; 94 $plugin->handle_feed($url, $r->content_ref); 99 100 my $ct = $r->content_type; 101 if ( $Feed::Find::IsFeed{$ct} ) { 102 $plugin->handle_feed($url, $r->content_ref); 103 } else { 104 my @feeds = Feed::Find->find_in_html($r->content_ref, $url); 105 if (@feeds) { 106 $url = $feeds[0]; 107 # xxx infinite loop 108 $_[KERNEL]->post($_[HEAP]->{BROKER_ALIAS}, 'enqueue_job', Xango::Job->new(uri => URI->new($url))); 109 } else { 110 return; 111 } 112 } 113 95 114 if ($_[HEAP]->{USE_CACHE}) { 96 115 $plugin->cache->set(
