--- lib/Grep/Action/AddFeed.pm 2007/02/21 21:51:05 68 +++ lib/Grep/Action/AddFeed.pm 2007/02/22 16:57:23 69 @@ -79,7 +79,16 @@ Jifty->log->debug("trying to find feed on $uri"); - my @feeds = Feed::Find->find( sprintf( $uri, $search_moniker ), $ua ); + my $r = $ua->get( sprintf( $uri, $search_moniker ) ); + + return $self->result->error( $r->status_line . " from $uri" ) unless ( $r->is_success ); + + if ($r->header('Content-type') =~ /xml/) { + $self->result->message( "Assuming $uri is feed and using it" ); + return $self->SUPER::take_action( @ARGS ); + } + + my @feeds = Feed::Find->find_in_html( $r->content ); if (@feeds) { @@ -96,7 +105,7 @@ return $self->result->error("Can't find any feed at $uri") unless ( $feed_uri ); - $self->result->message('Found ' . @feeds . ' feeds, using first one. ' . join(" ", @feeds) ); + $self->result->message('Found ' . @feeds . " feeds, using first: $feed_uri" ); $self->argument_value('uri', $feed_uri); Jifty->log->debug("calling parent take_action with new uri $feed_uri"); @@ -105,7 +114,6 @@ } else { - my $r = $ua->get( sprintf( $uri, $search_moniker ) ); warn "no feeds in ", $r->content; $self->result->error('No feeds found on supplied URI');