mimetypes モジュールは、ファイル名あるいは URL と、ファイル名拡張子に
関連付けられた MIME 型とを変換します。ファイル名から MIME 型へと、
MIME 型からファイル名拡張子への変換が提供されます;
後者の変換では符号化方式はサポートされていません。
このモジュールは、一つのクラスと多くの便利な関数を提供します。
これらの関数がこのモジュールへの標準のインターフェースですが、
アプリケーションによっては、そのクラスにも関係するかもしれません。
以下で説明されている関数は、このモジュールへの主要なインターフェースを
提供します。たとえモジュールが初期化されていなくても、もしこれらの関数が、
init() がセットアップする情報に依存していれば、これらの関数は、
init() を呼びます。
guess_type( |
filename[, strict]) |
-
filename で与えられるファイル名あるいは URL に基づいて、
ファイルの型を推定します。戻り値は、タプル
(type,
encoding)
です、ここで typeは、
もし型が(拡張子がないあるいは未定義のため)推定できない場合は、
None
を、あるいは、
MIME ヘッダ に利用できる、'type/subtype'
の形の文字列です。
encoding は、符合化方式がない場合は None
を、あるいは、
符号化に使われるプログラムの名前
(たとえば、compress あるいは gzip)です。
符号化方式は ヘッダとして
使うのに適しており、
ヘッダには適していません。
マッピングはテーブルドリブンです。符号化方式のサフィックスは大/小文字を区別します;
データ型サフィックスは、最初大/小文字を区別して試し、
それから大/小文字を区別せずに試します。
省略可能な strictは、既知の MIME 型のリストとして認識されるものが、
IANAとして登録された
正式な型のみに限定されるかどうかを指定するフラグです。
strict が true (デフォール)の時は、IANA 型のみがサポートされます;
strict が false のときは、いくつかの追加の、非標準ではあるが、一般的に
使用される MIME 型も認識されます。
guess_all_extensions( |
type[, strict]) |
-
type で与えられる MIME 型に基づいてファイルの拡張子を推定します。
戻り値は、先頭のドット (".")を含む、可能なファイル拡張子すべてを
与える文字列のリストです。拡張子と特別なデータストリームとの関連付けは
保証されませんが、
guess_type()によって MIME型 type とマップされます。
省略可能な strict は guess_type() 関数のものと同じ意味を持ちます。
guess_extension( |
type[, strict]) |
-
type で与えられる MIME 型に基づいてファイルの拡張子を推定します。
戻り値は、先頭のドット (".")を含む、ファイル拡張子を
与える文字列のリストです。拡張子と特別なデータストリームとの関連付けは
保証されませんが、
guess_type()によって MIME型 type とマップされます。
もし typeに対して拡張子が推定できない場合は、
None
が返されます。
省略可能な strict は guess_type() 関数のものと同じ意味を持ちます。
モジュールの動作を制御するために、いくつかの追加の関数とデータ項目が
利用できます。
-
内部のデータ構造を初期化します。
もし files が与えられていれば、これはデフォールトの型のマップを
増やすために使われる、一連のファイル名でなければなりません。
もし省略されていれば、使われるファイル名は knownfilesから
取られます。file あるいは knownfiles 内の各ファイル名は、
それ以前に現れる名前より優先されます。
繰り返し init() を呼び出すことは許されています。
read_mime_types( |
filename) |
-
ファル filename で与えられた型のマップが、もしあればロードします。
型のマップは、先頭の dot (".") を含むファイル名拡張子を、
'type/subtype'
の形の文字列にマッピングする辞書として返されます。
もしファイル filename が存在しないか、読み込めなければ、
None
が返されます。
add_type( |
type, ext[, strict]) |
-
mime型 type からのマッピングを拡張子 ext に追加します。
拡張子がすでに既知であれば、新しい型が古いものに置き替わります。
その型がすでに既知であれば、その拡張子が、既知の拡張子のリストに追加されます。
strictがある時は、そのマッピングは正式なMIME型に、
そうでなければ、非標準のMIME型に追加されます。
- inited
-
グローバルなデータ構造が初期化されているかどうかを示すフラグ。
これは init() により true に設定されます。
- knownfiles
-
共通にインストールされた型マップファイル名のリスト。これらの
ファイルは、普通 mime.typesという名前であり、パッケージごとに
異なる場所にインストールされます。
- suffix_map
-
サフィックスをサフィックスにマップする辞書。これは、符号化方式と
型が同一拡張子で示される符号化ファイルが認識できるように
使用されます。例えば、.tgz 拡張子は、符号化と型が別個に
認識できるように .tar.gzにマップされます。
- encodings_map
-
ファイル名拡張子を符号化方式型にマッピングする辞書
- types_map
-
ファイル名拡張子をMIME型にマップする辞書
- common_types
-
ファイル名拡張子を非標準ではあるが、一般に使われているMIME型に
マップする辞書
MimeTypes クラスは、1つ以上のMIME-型 データベースを
必要とするアプリケーションに役に立つでしょう。
class MimeTypes( |
[filenames]) |
-
このクラスは、MIME-型データベースを表現します。デフォールトでは、
このモジュールの他のものと同じデータベースへのアクセスを提供します。
初期データベースは、このモジュールによって提供されるもののコピーで、
追加の mime.types-形式のファイルを、read() あるいは readfp()
メソッドを使って、データベースにロードすることで拡張されます。
マッピング辞書も、もしデフォールトのデータが望むものでなければ、
追加のデータをロードする前にクリアされます。
省略可能な filenamesパラメータは、追加のファイルを、デフォールト
データベースの"トップに"ロードさせるのに使うことができます。
バージョン2.2 以降で新規追加された 仕様です。
Release 2.3.5, documentation updated on 平成17年10月12日.
ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。