Plagger::Plugin::FIlter::ReverseEntries
既に似たようなモノがあると思うんだが、分からんから作る。
フィード中のエントリを逆順ソートするだけのフィルタ。
大体のフィードは新しいものが先、古いものが後になっているのだが、
これをそのまま Publish::Gmail あたりで投げると新しいものが先に来てしまう。
古いのが先に来いよ、おかしいだろ。ということで。
# custom_feed_* か、Subscription::Config あたりで出来ると一番美しいんだが、
# 出来ないんだなぁ、コレが。
もしこれが必要なのなら、モジュール名を Filter::SortEntries とかにして、
config.yaml で昇順・降順を設定できるのが美しいんかな。
フィード中のエントリを逆順ソートするだけのフィルタ。
大体のフィードは新しいものが先、古いものが後になっているのだが、
これをそのまま Publish::Gmail あたりで投げると新しいものが先に来てしまう。
古いのが先に来いよ、おかしいだろ。ということで。
# custom_feed_* か、Subscription::Config あたりで出来ると一番美しいんだが、
# 出来ないんだなぁ、コレが。
package Plagger::Plugin::Filter::ReverseEntries;sort_entries() は要らん気もするが念のため。
use strict;
use warnings;
use base qw/Plagger::Plugin/;
sub register
{
my ($self, $context) = @_;
$context->register(
$self,
'update.feed.fixup' = \&_reverse,
);
}
sub _reverse
{
my ($self, $context, $args) = @_;
$args->sort_entries(); # needed?
$args->{feed}->{entries} = [ reverse @{ $args->{feed}->{entries} } ];
}
1;
もしこれが必要なのなら、モジュール名を Filter::SortEntries とかにして、
config.yaml で昇順・降順を設定できるのが美しいんかな。
1 コメント ]:
config.yaml を書く際、P::P::Filter::BreakEntriesToFeeds より
前に書かないと上手く動かない。
追っ掛けてないので原因はよく分からないけど、あまり直感的な
動作とは思えない。
Plagger 内部を熟知してないと config.yaml と出力結果に
剥離が出てくるのは何とかしてほしいなぁ。
コメントを投稿