SweetPotato::Plagger このページをアンテナに追加 RSSフィード

2007-04-22

[] CustomFeed::MelonBooks修正 18:16  CustomFeed::MelonBooks修正 - SweetPotato::Plagger を含むブックマーク はてなブックマーク -  CustomFeed::MelonBooks修正 - SweetPotato::Plagger  CustomFeed::MelonBooks修正 - SweetPotato::Plagger のブックマークコメント

リファクタリングを行った。機能には変更なし。ソースは上記リンクから。

トラックバック - http://plagger.g.hatena.ne.jp/SweetPotato/20070422

2007-04-15

[] ちょっと前からGmailの全文表示機能がなくなっている 15:48  ちょっと前からGmailの全文表示機能がなくなっている - SweetPotato::Plagger を含むブックマーク はてなブックマーク -  ちょっと前からGmailの全文表示機能がなくなっている - SweetPotato::Plagger  ちょっと前からGmailの全文表示機能がなくなっている - SweetPotato::Plagger のブックマークコメント

Plaggerで取得した情報はいつもGmailに送ってチェックしてるんだけど,ちょっと前から長いメールの全文を読む機能が無くなってる。少なくとも見つけられない。その代わりにメールが途中で切れてしまっている。ヘッダ情報を見る限りでは全文ちゃんと入ってるのに。

情報量の多いページだとチェック漏れがありそうで怖い。BreakEntriesToFeedsで分割する手もあるけど,メールの量が多くなるのは嫌だし,どうしたものか。

同じことで悩んでいる方がいた。

全文表示プレビュー機能のGreasemonkeyを使っても同じだった。

  • no title→Links→Conversation Preview

暫定的に,Publish::Feedでローカルにフィードを出力して,Apacheを用意してローカルのRSSリーダーからも読めるようにした。livedoor Readerみたいなキーボードショートカットが欲しいとなるとフレッシュリーダーがいいのかな。インストールがちょっと面倒だけど。

トラックバック - http://plagger.g.hatena.ne.jp/SweetPotato/20070415

2007-04-11

[] CustomFeed::FeedAsEntry  CustomFeed::FeedAsEntry - SweetPotato::Plagger を含むブックマーク はてなブックマーク -  CustomFeed::FeedAsEntry - SweetPotato::Plagger  CustomFeed::FeedAsEntry - SweetPotato::Plagger のブックマークコメント

各フィードに,そのフィードと同じURLとタイトルを持つエントリを追加する。

Plagger/Plugin/CustomFeed/FeedAsEntry.pm

package Plagger::Plugin::CustomFeed::FeedAsEntry;
use strict;
use base qw( Plagger::Plugin );

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

sub aggregate {
    my ($self, $context, $args) = @_;
    my $entry = Plagger::Entry->new;
    $entry->link($args->{feed}->url);
    $entry->title($args->{feed}->title);
    $args->{feed}->add_entry($entry);
    $context->update->add($args->{feed});
    return 1;
}

1;

経緯

Subscription::WWWC + EFT + Filter::Diffで似非はてなアンテナ作れそうじゃん」と思ってとりかかったものの,RSSやAtomを持たないページが途中で「~ is not aggregated by any aggregator」というメッセージとともにごっそりと削除される壁にぶちあたった。

Plaggerのソースを見たら,customfeed.handleフェーズの段階でどのモジュールにも処理されずエントリが生成されなかったフィードは削除されてしまうことが分かった。RSSやAtomを持つページはデフォルトでAggregator::Simpleが処理してくれたけど,そうでない普通のページは削除されてしまっていたわけだ。

「じゃあcustomfeed.handleフェーズで無理矢理エントリを追加しなきゃならんのか」ということで作られたのがこのプラグイン。他に使い道は……あまりなさそうだなあ。

トラックバック - http://plagger.g.hatena.ne.jp/SweetPotato/20070411