カラクリサイクル

『輝かしい青春』なんて無かった人の雑記

Aggregator::AsyncとPublish::OPMLを組み合わせるとおかしい

Aggregator::AsyncとPublish::OPMLを組み合わせてOPML生成すると、何故かFeedじゃないものまでOPMLに混ざってる。

良く見てみると、OPMLのxmlUrlに何故かHTMLへのリンクが入ってる。ってことはPlagger::Feed->urlにHTMLへのリンクが何故か入ってることになる。

自分の環境(WinXP ap1 + ActivePerl)だと

plugins:
  - module: Aggregator::Async
  - module: Subscription::Config
    config:
      feed: http://google.co.jp/
  - module: Publish::OPML
    config:
      filename: /path/to/test.opml

で確実に再現する。あとさくらインターネットで実行しても再現した。なんでこうなるかは不明。

Aggregator::AsyncでFeedを追加しているところ(handle_feedを呼び出しているとところ)はhandle_response以外にないので、このメソッドのどこががおかしいんじゃないかと思う。

あってるかどうか分からんけど。