nipotan method RSSフィード

 | 

2008-01-11

Becky! のフィルタルール  Becky! のフィルタルール - nipotan method を含むブックマーク はてなブックマーク -  Becky! のフィルタルール - nipotan method  Becky! のフィルタルール - nipotan method のブックマークコメント

そういえばどこにも書いてなかった。


だいぶ昔に、初めてマック (鈴木じゃないほう) を買って、調子コいて「Windows 捨てだな!」とかホザいてた青い時期 (遠い目) があったんだけど、Windows で最も重宝していた Becky! Internet Mail から、マック (グリドルじゃないほう) 使うなら結局他の MUA に移行せざるをえない状況になってしまって、まぁ、大概の MUA は mbox 形式にエクスポートしたらインポート出来るんだけど、フィルタのルールってどれも MUA の独自実装になってて、まず移行出来ないじゃんすか


で、別の MUA に移行するために、まず MUA 別にフィルタルールを解析して…とかやらなきゃいけないんだけどさ、結局 MUA によっては「この機能はこっちにもあるけど、この機能はこっちにもない」とかそんなんばっかりで、現実味がない。


そもそも、それを Perl で利用可能なデータ構造にしにくいし、そもそもフォーマットがないわけだし…とか色々考えたら完全に作る気が失せたんだけど、うちの会社ってメールが異常に多いから、フィルタかけて、振り分けしてとかいっぱいやってて、イチイチ Becky ひらいて同じルールを追加すんのが面倒くさかったから、


nipotanさんのツイート: "Becky! の振り分けルールを perl で parse したいな"


とかつぶやいた後に、結局 parser を書くかなって気になったの。


Parse::Becky::FilteringRules

use strict;
use Parse::Becky::FilteringRules;
use Data::Dumper;

my $bk = Parse::Becky::FilteringRules->new; # $bk is not Batara!
$bk->parse('/Becky!/your_name/xxxxxxxx.mb/IFilter.def');
warn Dumper $bk;

こんなんしたらわかると思う。


ただ、これもホント、思い付きも思い付き。

and 条件の構造とかどうしたらいいかわかんなくて、すごく適当な構造 & 実装。

depth とかなくてもよろしくやってくれるほうがいいかもね。

as_string() の時につらいけど。


まぁ、Twitter での発言から add するまでの時間見てもらえばわかるけど、ものすごい勢いで思い付きをそれっぽい形にするとこまで書いただけ (これをやるのが一番重要だと思う) だから、データ構造とかがぶっちゃけイケてない。

いけてないのはわかってる。で、どうしたらいいのかなーとか思ったから、CodeRepos にうpしたんだよね。


かつてマック (Freddie じゃないほう) にスイッチした時の自分のように、parse したい!移行したい!って人がもしいたら、もうちょっと拡張していきたい (共通のデータ構造考えたり、他の MUA 用のパーサ書いたり) とこだね。


アクセサとか共通化して、別 MUA の parser に $bk の構造とか渡して as_string() するだけで、それ用のルールになっちゃうとか。


考えただけで興奮する。

 |