7.3.1.5 MMDF

クラス MMDF( path[, factory=None[, create=True]])
MMDF 形式のメールボックスのための Mailbox のサブクラス。 パラメータ factory は呼び出し可能オブジェクトで (バイナリモードで開かれているかのように振る舞う)ファイル風メッセージ表現を 受け付けて好みの表現を返すものです。factoryNoneならば、 BabylMessage がデフォルトのメッセージ表現として使われます。 createTrue ならばメールボックスが存在しないときには 作成します。

MMDF は単一ファイルのメールボックス形式で Multichannel Memorandum Distribution Facility というメール転送エージェント用に発明されたものです。 各メッセージは mbox と同様の形式で収められますが、前後を4つの Control-A ("\001") を含む行で挟んであります。 mbox 形式と同じようにそれぞれのメッセージの開始は "From " の5文字を含む行で 示されますが、それ以外の場所での "From " は格納の際 ">From " には変えられません。 それは追加されたメッセージ区切りによって新たなメッセージの開始と見間違うことが 避けられるからです。

MMDF で実装された Mailbox のいくつかのメソッドには特別な注意が 必要です。

get_file( key)
MMDF インスタンスに対し flush()close() を呼び出した 後でファイルを使用すると予期しない結果を引き起こしたり例外が送出されたりすることがあります。

lock( )
unlock( )
3種類のロック機構が使われます -- ドットロッキングと、もし使用可能ならば flock()lockf() システムコールです。

参考:

tin の mmdf man page
ニュースリーダ tin のドキュメント中の MMDF 形式仕様
MMDF
Multichannel Memorandum Distribution Facility についてのウィキペディアの記事

ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。