« MacBook Proキタ | メイン | Femo + Plagger »

Plagger::Plugin::Filter::TimeZone

globalで設定したTimeZoneに変更するFilter
BloglinesとかCustomFeedとかにはあまり関係がない。

__追記__
ちょっと意味わからなげなので、
Plagger::Plugin::Filter::FloatingDateTime
こっちに。
__/追記__


package Plagger::Plugin::Filter::TimeZone;
use strict;
use base qw( Plagger::Plugin );

sub register {
    my($self, $context) = @_;
    $context->register_hook(
        $self,
	'update.feed.fixup' => \&feed_update,
        'update.entry.fixup' => \&entry_update,
    );
    $self->{tz} = $context->conf->{timezone} || 'local';
}

sub feed_update{
    my($self, $context, $args) = @_;
    $args->{feed}->updated and
        $args->{feed}->updated->set_time_zone($self->{tz});
}

sub entry_update {
    my($self, $context, $args) = @_;
    $args->{entry}->date and
	$args->{entry}->date->set_time_zone($self->{tz});
}

1;