パッチを修正しました。修正したのは Aggregator::Simple に aggregator.parse フェーズを実装するパッチ 修正版 です。
=== lib/Plagger/Plugin/Aggregator/Simple.pm
==================================================================
--- lib/Plagger/Plugin/Aggregator/Simple.pm (revision 52)
+++ lib/Plagger/Plugin/Aggregator/Simple.pm (local)
@@ -15,7 +15,7 @@
my($self, $context) = @_;
$context->register\_hook(
$self,
- 'customfeed.handle' => \\&aggregate,
+ 'customfeed.handle' => $self->can('aggregate'),
);
}
@@ -38,7 +38,7 @@
$res = $self->fetch_content($feed\_url) or return;
$self->handle_feed($feed_url, \$res->content, $args->{feed});
} else {
- return;
+ $self->handle_content($url, $res, $args->{feed});
\}
return 1;
@@ -215,6 +215,19 @@
$str;
}
+sub handle_content {
+ my ($self, $url, $res, $feed) = @_;
+
+ my $context = Plagger->context;
+ my $args = {
+ url => $url,
+ response => $res,
+ feed => $feed,
+ };
+
+ $context->run_hook_once('aggregator.parse', $args);
+}
+
1;
__END__
なんか書いてみたらあっさりできてしまった。
ちなみに他の Aggregator 系のプラグインで対応するにはやっぱり改造が必要なので注意。
#FIXME