| Plagger documentation | Contained in the Plagger distribution. |
Plagger::Plugin::Subscription::HatenaGroup - HatenaGroup Subscription via RSS
- module: Subscription::HatenaGroup
config:
group: subtech
Subscription from Hatena Group.
Tokuhiro Matsuno
| Plagger documentation | Contained in the Plagger distribution. |
package Plagger::Plugin::Subscription::HatenaGroup; use strict; use base qw( Plagger::Plugin ); use URI; use Plagger::FeedParser; use Plagger::UserAgent; sub register { my($self, $context) = @_; $context->register_hook( $self, 'subscription.load' => \&load, ); } sub load { my($self, $context) = @_; my $group = $self->conf->{group} or $context->error('group is missing'); my $feed_uri = "http://$group.g.hatena.ne.jp/diarylist?mode=rss"; my $agent = Plagger::UserAgent->new; my $remote = eval { $agent->fetch_parse(URI->new($feed_uri)) } or $context->error("feed parse error $feed_uri: $@"); for my $r ($remote->entries) { $context->log(info => "diary: ". $r->link); my $feed = Plagger::Feed->new; $feed->url($r->link . "rss"); $feed->link($r->link); $feed->title($r->title); $context->subscription->add($feed); } } 1; __END__