: O. Yuanying

Pragger で sort したい!!

Pragger で収集したFeedをsortする方法がちょっとめんどい。

何がめんどいって渡されてくるデータがFeedに限定されていないので、 Filter::sort プラグインがすごい汎用的になってる反面、設定がめんどくさい。

結局複数のFeedを集約してsortして一つのFeedにして保存する設定ファイルは以下のようになった。


- module: RSS::load
  config:
    url:
      - /log/feed/rdf
      - http://d.hatena.ne.jp/yuanying/rss
      - http://yuanying.oeilvert.org/books.rss

- module: Filter::sort
  config:
    method:
      - module: send_msg
        config:
          method: date

- module: reverse

- module: RSS::save
  config:
    filename: /Path/to/Sites/fraction/feed.xml
    link: /
    title: BONNOH FRACTION

Filter::sort の config に method を指定するんだけどソースコードを見てみると、

eval_pragger(config["method"],[a])[0] <=> eval_pragger(config["method"],[b])[0]

とかしてるんで、method はプラグインを指定するものと理解。

RSS::Filter::sortメソッドとかあっても良いかもしれん。

いや、むしろ流れてくるデータはRSSのItemに限定したプラグインばかりを集めて、 汎用プラグインと分けて RSS::Publish, RSS::Filter, RSS::Feed, RSS:: Subscription とか RSS::* モジュールとしてまとめるとか…。