[plagger] Filter::POPFile のインストール

global:
  plugin_path:
    - C:\Perl\site\lib\Plagger\Plugin
  assets_path: C:\Perl\site\lib\Plagger\assets
  timezone: Asia/Tokyo
  log:
    level: debug

plugins:
  - module: Subscription::Config
    config:
      feed:
        - url: http://del.icio.us/rss/naltan

  - module: Filter::POPFile
    rule:
      module: Fresh
      mtime:
        path: C:\home\.plagger\cache\plagger-popfile.tmp
        autoupdate: 1
    config: 
      proxy: http://localhost:8081/RPC2
      encoding: euc-jp // shiftjis とかやって悲しくなった
      training: 1

#  - module: Filter::TagsToTitle
#    config:
#      add_to: left

#  - module: Filter::Rule
#    rule:
#      module: EntryTag
#      tag:
#        - perl
#        - plagger
#      op: OR

  - module: Publish::Pipe
    config:
      command: c:\cygwin\bin\cat.exe

感想

POPFile の履歴ページから再分類する作業がちょっと面倒な気がしました。どうにかならんかな。鍛えれば再分類する回数が減ると信じてちょっとトレーニングしてみよう。あと、タグなんかも POPFile に渡さないと駄目か。

del.icio.us の巡回 RSS を食わせてプライベートのはてブに食わせてみた。そのうち spam は送らないようにルールを書き足そう。いちおう本文にタグを追加して POPFile が認識できるようにしてみた。

Filter::DeliciousFeedTags が POPFile よりも先に適用されるようにして

    my @tags = @{$args->{entry}->tags};
    my $tag_string = @tags ? join(',', map "$_", @tags) : '';
    $text .= "\n" . $tag_string;

こんなのを POPFile の write_tempfile() の適当なところに追加。

  • $tag_string を encode しないように修正

しかし、こんなものをパブリッシュにするには重複チェックをきっちりいれないとどっかの bot と無限ループをはじめそうだ。これは irc の #bot チャンネルと同じか。bot は notice で発言しなさいと昔の人はいいました、と。

はてな注目エントリーをつっこんで動きがびみょーだったので、RSS みたらエントリに日時情報なんてついてなかった。これがはてなの仕掛けた罠だというのか。思わず Aggregator::Simple のコードを読んで XML::Feed の API まで確認してしまったというのに無駄だった。

Filter::Rule でエントリーを刈り取った後に Filter::DeliciousFeedTags などが出来なくて悲しかった。update に hook する別の Rule を作ればええんかなー。...だめだった。update より前にフェーズを追加してそこに Rule を hook せんと entry を削ったりするようなんは危ないな。とりあえずは POPFile みたいに専用 rule を持たせとくか...。

POPFile って1つのメールを複数のカテゴリに分類はできないのかな。閾値が一定値以上のカテゴリを取得できたりするんだろうか。

あと自分の del.icio.usRSS なのに思わず spam 分類したくなるエントリーがあったのが悲しかった。情報は生ものだね。rotten という分類にしとくべきなのか。 (注: 間違った分類の仕方)