DateTime::Format::RSS

| コメント(0) | トラックバック(0)



Plagger::Plugin::Filter::RSSLiberalDateTimeをDateTime::Formatにするとこんな感じになる気がする(DT::F::DateParseはテストでエラーでまくりだけど、ちゃんと動くっぽい)



package DateTime::Format::RSS;
use strict;
use vars qw($VERSION);
use DateTime::Format::Mail;
use DateTime::Format::ISO8601;
use DateTime::Format::DateParse;

BEGIN
{
$VERSION = '0.01';
}

sub new
{
my $class = shift;
my $self = bless {
parsers => [
DateTime::Format::Mail->new,
DateTime::Format::ISO8601->new,
'DateTime::Format::DateParse',
]
}, $class;
return $self;
}

sub parsers { my $self = shift; @{$self->{parsers}} }
sub parse_datetime
{
my $self = shift;
my $date = shift;
if (! ref($self)) {
$self = $self->new(strict => 0);
}

my $dt;
foreach my $p ($self->parsers) {
$dt = eval { $p->parse_datetime($date) };
last if $dt;
}
return $dt;
}

sub format_datetime
{
my $self = shift;
DateTime::Format::Mail->parse_datetime(shift);
}


Author

Daisuke Maki (a.k.a lestrrat): Perl hacker, Director of Japan Perl Association, YAPC::Asia Tokyo Organizer (2009-2012), Fluent in Japanese, English. Ex-Brazilian (sorta)

#perl #c #ruby #java #mysql #english #japanese #opensource #stf #cooking #scotch #cigar


このエントリーをはてなブックマ
ークに追加

翔泳社よりモダンPerl入門(2010)を出版させていただいております。できれば内容をアップデートしたいので是非皆様・・・現在の在庫処理にお力をお貸しください!><

月別アーカイブ