plaggerでNewsIsFreeからのサイト

EntryFullTextを雛型にかいたから、いらないのもよみこんでるかも。。。
(何行か削れそうなきがするけど、これでとりあえず動いてる)
permalinkをみるべきなのか、linkをみるべきなのか????

package Plagger::Plugin::Filter::NewsIsFree;
use strict;
use base qw( Plagger::Plugin );

use DirHandle;
use Encode;
use File::Spec;
use List::Util qw(first);
use HTML::ResolveLink;
use Plagger::Date; # for metadata in plugins
use Plagger::Util qw( decode_content );
use Plagger::Plugin::CustomFeed::Simple;
use Plagger::UserAgent;

sub register {
    my($self, $context) = @_;
    $context->register_hook(
        $self,
        'customfeed.handle'  => \&handle,
        'update.entry.fixup' => \&filter,
    );
}


sub handle {
    my($self, $context, $args) = @_;

    my $handler = first { $_->custom_feed_handle($args) } @{ $self->{plugins} };
    if ($handler) {
        $args->{match} = $handler->custom_feed_follow_link;
        return $self->Plagger::Plugin::CustomFeed::Simple::aggregate($context, $args);
    }
}

sub filter {
    my($self, $context, $args) = @_;

    if( $args->{entry}->permalink !~ /www.newsisfree.com/ ){
	return;
    }

    ###
    my $isEntryFind=0;
    my $ar_entry=$args->{entry};
    for my $feed_entry ($args->{feed}->entries) {
	if( $feed_entry->link eq $ar_entry->link ){
	    $isEntryFind=1;
	}
    }
    if( $isEntryFind eq 0 ){
	# feed doesn't have this entry
	# this entry is deleted somewhere

	return;
    }
    ###

    my $agent = Plagger::UserAgent->new;
    my $res = $agent->fetch($args->{entry}->permalink, $self);
    return if $res->http_response->is_error;
    my $content = Plagger::Util::decode_content($res);

    my $base = $args->{entry}->permalink;
    while ($content =~ m!.*?x='(http://[^']*)';!g) { #'
        $base=($1);
    }
    if ( $base ne $args->{entry}->permalink ) {
        $context->log(info => "rewrite permalink to $base");
        $args->{entry}->permalink($base);
        $args->{entry}->link($base);
    }

    return ;
}

1;

config.yaml

  - module: Filter::NewsIsFree