カラクリスタ

Plaggerの改造案メモ

  • 昨日書いた改造案 はどうしたら良いんだろう、と言うことを今日遠出をしているときに考えてた。

で、こうなった。

aggregator.parse
aggregator.filter.'formatName'
aggregator.entry.fixup

説明するっていうか忘れないようにまとめると、

Aggregator 系のプラグインで aggregator.filter.feed、aggregator.entry.fixup を行うのを廃止、代わりに aggregator.parse フェーズを run_hook_once で実行して、なんらかの形で Plagger::Feed を取得、そのあと$context->update->add( $feed )する。

で、aggregator.parse フェーズではまず、渡されたデータを解析する前に、aggregator.filter.'formatName'を実行する。RSS や Atom だったら aggregator.filter.feed、HTML だったら aggregator.filter.html とか。

で、aggregator.filter.*でデータソースを修正してから、実際に解析して Plagger::Feed に Plagger::Entry を詰め込む。その際に aggregator.entry.fixup を実行する。

と言うのが結構スマートだと思う。

だめだ、眠い。

#FIXME