2007-07-01
■ [Filter] Filter::SortEntries

フィード内のエントリを並べ替えるFilter。
Plagger/Plugin/Filter/SortEntries.pm
package Plagger::Plugin::Filter::SortEntries; use strict; use base qw( Plagger::Plugin ); sub register { my ($self, $context) = @_; $context->register_hook( $self, 'update.feed.fixup' => \&update, ); } sub update { my ($self, $context, $args) = @_; return unless defined $self->conf->{expression}; my @entries = sort { eval $self->conf->{expression} } $args->{feed}->entries; $args->{feed}->{entries} = \@entries; } 1;
行儀が悪いにも程がある。
config.yaml
この例では日付が古い順に整列する。
# ... - module: Filter::SortEntries config: expression: | use Plagger::Date; Plagger::Date->compare($a->date, $b->date);
トラックバック - http://plagger.g.hatena.ne.jp/SweetPotato/20070701
http://nyarla.net/blog/plagger24
nyarla-netさんは比較にcmpを使ってらっしゃいますが,これは日付(date)での整列も可能ですか?
僕の作ったプラグインの場合、指定されたプロパティを単純に比較しているだけなので、そのあたり込み入ったことが出来ないと思います。
まあSweetPotatoさんのか僕のかどちらかをベースにしてくっつけてしまえば良いと思いますが。