トップ «前の日記(2008/11/07 (金) ) 最新 次の日記(2008/11/09 (日) )» 編集 RSS feed

HsbtDiary


2008/11/08 (土) [長年日記]

積雪

SANY0001.JPG

朝起きたらこんな感じ。どうりで寒いわけだ。

[Plagger][perl] Plagger::Plugin::Aggregator::Simple が何か動かなくなっていた

昼に

sudo perl -MCPAN -e 'CPAN::Shell->install(CPAN::Shell->r)'

でまるごとアップデートしてから Wassr → Twitter の同期に使っているPlagger が動いてなかったのでデバッグしてみた。

Plagger::Plugin::Aggregator::Simple [debug] 200: http://api.wassr.jp/user_timeline.rss?id=hsbt
Something is wrong: XML::Feed::Entry::Format::RSS=HASH(0x98dd820) at /usr/local/share/perl/5.10.0/Plagger/Plugin/Aggregator/Simple.pm line 208.
exit 255

はて? よくわからんけど、Aggregator::Simple で eq 判定している部分を下のように修正したら動き出した。

=== lib/Plagger/Plugin/Aggregator/Simple.pm
==================================================================
--- lib/Plagger/Plugin/Aggregator/Simple.pm     (revision 26574)
+++ lib/Plagger/Plugin/Aggregator/Simple.pm     (local)
@@ -192,7 +192,7 @@
     my($e, $content) = @_;
     return unless $content->body;
 
-    if (ref($e) eq 'XML::Feed::Entry::Atom') {
+    if (ref($e) =~ /Atom/) {
         # in Atom, be a little strict with TextConstruct
         # TODO: this actually doesn't work since XML::Feed and XML::Atom does the right
         # thing with Atom 1.0 TextConstruct
@@ -201,7 +201,7 @@
         } else {
             return Plagger::Text->new(type => 'html', data => $content->body);
         }
-    } elsif (ref($e) eq 'XML::Feed::Entry::RSS') {
+    } elsif (ref($e) =~ /RSS/) {
         # in RSS there's no explicit way to declare the type. Just guess it
         return Plagger::Text->new_from_text($content->body);
     } else {

本質的な修正になっているのかあやしいなあ。コミットしてしまって良いのか悩ましい。

追記

修正方法が根本的におかしいような気がしたのでさらに修正。

XML-Feed-0.3 が持つ Entry の中身が 0.23 から変わったのが原因ってことでいいのかな。相変わらず修正に対する自信がない。

追記2

下位互換も考えてさらにさらに修正。大丈夫っぽいので本家にコミットした。

[Life] 今日の(ry

相変わらず寒いので、部屋で引きこもってゲームとDVD三昧。DVDは結婚式のDVDを見てたけど、改めて見直してみると結構直したくなってくる部分が見つかるもんだなー。

というわけで、昨日届いた野菜を使用した本日のメニュー。

  • 鳥ゴボウご飯
  • 豚汁
  • 秋刀魚の野菜あんかけ
  • 大根のそぼろ煮
  • カブの漬け物

豚汁は久しぶりに食べたけど、大変おいしゅうございました。あと、彼女が作ったというモンブランも食後にむしゃむしゃ。こちらも大変おいしゅうございました。