LIRS 形式のものを RSS 1.0 に変換

さとみかん(何処)で RSS を吐いてもらいたかったので lirs2rss というスクリプトを書いた。ありみか親分(誰)の八面六臂の活躍により(謎)いくつかのバグを修正した。

RSS 1.0 は、Yuki::RSS を利用して吐いています。実際には、Yuki::RSS を継承し、各item に Dublin Core の date と creator を追加できるようにしています。また、各item の description は任意に追加できるようにしました。

なお、ライセンスは次のようになっています。

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

ありみか親分(誰)より更に(謎)バグ報告があった。LIRS形式での「,」のエスケープを処理できていないとのこと。回避方法は「,」を使わないこと。

LIRS.pm を使えばすぐに解決しそうな気がするけどライセンスが不明。Meta::LIRS.pm ってのがあったらしいけど行方不明。面倒だけどコード書くか。

というか、頼むからライセンスは書いてくださいって感じだ。

Meta::LIRS の作者、masaki さんにメールをいただく。Meta::LIRS は、libantenna-0.01 に同梱されているとのこと。

trackbacks...

サイト名等に「,」が入っていた場合に意図しない表示になる問題を解決

行動記録 (Sat Aug 16 10:01:48 2003 JST)

version 0.4 で解決しました。

TrackBack URL

TrackBack URL for this entry: http://everybody.good-day.net/~iwai/blosxom/software/lirs2rss/version-03.tbping

TrackBack Form
itemvalue
ping

comments...

更新時刻順のソートに関して

sasashin (Thu Jun 3 12:22:03 2004 JST)

はじめまして。lirs2rss、便利に使わせていただいています。ありがとうございます。使っていて少々気になった点があるのでご報告。バグという程ではないと思いますが。 まれに、更新時刻が早い(下に表示されるべき)ものが最上部にくることがあります。sort する際、strings で処理されているので更新時刻の桁数が違うときの比較が上手くいっていないようです。自分なりに処理を追加してみましたが、お役に立ちますでしょうか? diff を取るとこんな感じです。 41c41,55 < foreach my $line (reverse sort @lines){ --- > foreach (@lines){ > @a = split(/,/, $_); > $l{$a[1]} = 1; > } > > sub numeric { $b<=>$a; } > foreach $a (sort numeric keys %l){ > foreach $b (@lines) { > if ($b =~ $a){ > push(@lines_s,$b) > } > } > } > > foreach my $line (@lines_s){