溢れ出る加齢臭

カレー臭に加え加齢臭が溢れ出る年齢になりました。

PlaggerでRSSを吐き出すためのOTD BBS用のyamlファイルを書いてみた

2000年頃から大学時代のサークルの連中用のBBSをOTDでレンタルしているのだが、最近はたまにしか書き込みがない状況である。いちいちBBSにアクセスするのも面倒なので、PlaggerでCustomFeed::Configを使ってRSSを吐き出させるようにしてみた。
まずはPlaggerグループ - Seacolor Labs. - CustomFeed::Config 0.02 Releaseから、Config.pmをダウンロードをして、PlaggerのPlugin内のCustomFeedディレクトリにおく。ubuntuの場合、/usr/local/share/perl/5.8.8(バージョン番号)/Plagger/Plugin/CustomFeed/か。
次にyamlファイルを書く。本文のソースから正規表現でタイトル、日付、著者、内容などを持ってくればよいのだが、設置したBBSでは表示用の調整のために全角空白などを入れていたこともあって、Config.pmでうまく内容を拾ってくれない。そこでこのBBSは自分が管理者になっていることをいいことに、必要箇所の前後にspanタグを挿入した。反則技。作成したyamlファイルは以下の通り。

# /usr/local/share/perl/5.8.8/Plagger/assets/plugins/CustomFeed-Config/OTDBBS.pm
# URLの*部分には実際は数字が入ります。
custom_feed_handle: http://otd*\.jbbs\.livedoor\.jp/******/bbs_plain
custom_feed_extract: (.*?).*?(\d+).*?(.*?).*?(.*?).*?(.*?)
custom_feed_extract_capture: title1 num author date body
custom_feed_extract_after_hook: |
    $data->{title} = "[".$data->{num}."]".$data->{title1};
    $data->{link} = 'http://otd*.jbbs.livedoor.jp/******/bbs_plain';

ここまでidで指定してしまうと、custom_feed_extractではなく、custom_feed_extract_xpathが使えるような気がせんでもないが、まあいいや。
dateは、$date+"半角スペース2個"+$timeを読み込ませている($date、$timeはOTD BBS上での変数)のですが、ちゃんと日付と時刻としてcaptureしてくれるんですね。