mailcap ファイルは、メイルリーダや Web ブラウザのような MIME 対応の アプリケーションが、異なる MIME タイプのファイルにどのように反応 するかを設定するために使われます (``mailcap'' の名前は ``mail capability'' から取られました)。 例えば、ある mailcap ファイルに "video/mpeg; xmpeg %s" のような 行が入っていたとします。ユーザが email メッセージや Web ドキュメント 上でその MIME タイプ video/mpeg に遭遇すると、 "%s" はファイル名 (通常テンポラリファイルに属するものになります) に置き換えられ、ファイルを閲覧するために xmpeg プログラムが 自動的に起動されます。
mailcap の形式は RFC 1524, ``A User Agent Configuration Mechanism For Multimedia Mail Format Information'' で文書化されていますが、この文書はインターネット標準ではありません。 しかしながら、 mailcap ファイルはほとんどの Unix システムで サポートされています。
caps, MIMEtype[, key[, filename[, plist]]]) |
(None, None)
が
返されます。
key は desired フィールドの値で、 実行すべき動作のタイプを表現します; ほとんどの場合、単に MIME 形式のデータ本体を見たいと思うので、標準の値は 'view' になっています。与えられた MIME 型をもつ新たなデータ本体を作成した 場合や、既存のデータ本体を置き換えたい場合には、'view' の他に 'compose' および 'edit' を取ることもできます。
これらフィールドの完全なリストについては RFC 1524 を参照してください。
filename はコマンドライン中で "%s" に代入されるファイル名
です; 標準の値は '/dev/null'
で、たいていこの値を使いたい
わけではないはずです。従って、ファイル名を指定してこのフィールドを
上書きする必要があるでしょう。
plist は名前付けされたパラメタのリストです; 標準の値は単なる
空のリストです。リスト中の各エントリはパラメタ名を含む文字列、
等号 ("=")、およびパラメタの値でなければなりません。
mailcap エントリには %{foo}
といったような名前つき
のパラメタを含めることができ、'foo' と名づけられたパラメタの値に
置き換えられます。例えば、コマンドライン
"showpartial %{id} %{number} %{total}"が mailcap ファイルにあり、plist が ['id=1',
'number=2', 'total=3']
に設定されていれば、コマンドラインは
'showpartial 1 2 3'
になります。
mailcap ファイル中では、 オプションの ``test'' フィールドを 使って、(計算機アーキテクチャや、利用しているウィンドウシステムといった) 何らかの外部条件をテストするよう指定することができます。 findmatch() はこれらの条件を自動的にチェックし、 チェックが失敗したエントリを読み飛ばします。
) |
mailcap 情報はシステム上で見つかった全ての mailcap ファイルから 導出されます。ユーザ設定の mailcap ファイル $HOME/.mailcap はシステムの mailcap ファイル /etc/mailcap、 /usr/etc/mailcap、および /usr/local/etc/mailcap の内容を上書きします。
以下に使用例を示します:
>>> import mailcap >>> d=mailcap.getcaps() >>> mailcap.findmatch(d, 'video/mpeg', filename='/tmp/tmp1223') ('xmpeg /tmp/tmp1223', {'view': 'xmpeg %s'})