pythonメモ ファイルの拡張子からMIMEタイプを取得する。

先日の日記にもMIMEタイプについて書きましたが、あれから少し調べてみたところ、
Pythonの標準モジュールにMIMEタイプを取得できるものがありました。


以下の用にすることで取得できます。

import mimetypes

mimeType, subType = mimetypes.guess_type('sample.py')

上記の例では、mimeTypeに'text/x-python'が、subTypeにはNoneが返されます。


さて、上記のようなMIMEタイプの判定をどこで使用するかというと、これも先日の日記に書いた
gtk.SourceViewのシンタックスハイライト時です。
読み込んだファイル名からMIMEタイプを取得し、以下のような感じで使用すればオッケーです。

import mimetypes

mimeType, subType = mimetypes.guess_type('sample.py')

# <。。中略。。>

langMgr = SourceLanguagesManager()
lang = langMgr.get_language_from_mime_type(mimeType)
self.bf.set_language(lang)

いやはや、簡単でよかったです。