macのアドレス帳(sync経由でgmail由来)をbbdbにつっこむ1。

メールクライアントはthunderbirdなのですけど。
C-xmでメールしたいときもあります。
bbdb初体験。
bbdbのインスコはダウンロードしてきてelを突っ込むだけでよかった。
MUAと連携とかとる場合ならいざ知らず、とりあえずは.emacsには
(require 'dddb)
のみでOK

bbdbのデータは外からとってこないといけない。
http://www.homonculus.net/code/html/ab_to_bbdb.py_code.html
にmacのアドレス帳をprintしてくれるすてきなスクリプトがある。

python __FILE__ > ~/.bbdb

をすると文字コードな怒られ方をするので
163行目あたりをunicode変換をかけるようにしてごまかす。

 def as_bbdb_record (self):
        return """[%s %s %s %s %s %s %s %s %s %s]""" % (self.first_name().encode('utf-8'),
                                                        self.last_name().encode('utf-8'),
                                                        self.aka().encode('utf-8'),
                                                        self.company().encode('utf-8'),
                                                        self.phones().encode('utf-8'),
                                                        self.addresses().encode('utf-8'),
                                                        self.net_addresses().encode('utf-8'),
                                                        self.notes().encode('utf-8'),
                                                        self.timestamp().encode('utf-8'),
                                                        self.creation_date().encode('utf-8'))

こんな感じ。
これはcronかなにかで逐次更新かければよいでしょう。リアルタイムじゃなくて良い。
この状態で
M-x bbdbとanything-c-source-bbdbでデータが検索できますね。
anythingのほうは名前のみの模様ですが。
ここから
C-xmにauto-completeに引っかけたらかなり幸せになれそうなのですが
仕事しなくちゃいけないのでまた後で。

ふんがー

http://d.hatena.ne.jp/buzztaiki/20091110/1257863059
にとてもご機嫌になれそうな事が書いてあるのですが、
うちのbbdbに対してはうまく絞り込みません。まぁ、いいや。
というわけでエレクトリックではないですが、初期化すればmessage-modeで[TAB]で展開されるのでよしとしました。

;;bbdb
(require 'bbdb)
(bbdb-initialize)