ファイル情報取得で MIME Type を取得したい、その2。
GnomeVFS – Wikipedia
[mew-dist 24325] Re: Content-typeの取り扱いについて
なんだ、gnomevfs ってのを使えばいいのか。
gnome-vfs python – Google Search
Python gnomevfs Reference Manual
簡単に見つかった、メリケンの google が便利すぐる。
Finding the MIME type of a file – Community Ubuntu Documentation
方法まであっさり、しかし他国でこの手を探すと Python コードがすぐ見つかる。
日本ってこんなことでもガラパゴス状態なんだよなぁと。
しかしファイルの種類は日本語での取得ができるのかな?試してみよう。
#!/usr/bin/env python #-*- coding:utf-8 -*- import gtk import gnomevfs class MimeWin2(gtk.Window): """ Showing MIME Type and Description of Dropped file """ def __init__(self): gtk.Window.__init__(self) dnd_list = [("text/uri-list", 0, 0)] self.drag_dest_set( gtk.DEST_DEFAULT_MOTION | gtk.DEST_DEFAULT_HIGHLIGHT | gtk.DEST_DEFAULT_DROP, dnd_list, gtk.gdk.ACTION_MOVE ) self.connect("drag_data_received", self.on_drop) self.label = gtk.Label("Drop") self.add(self.label) self.connect("delete-event", gtk.main_quit) self.resize(320, 150) self.show_all() def on_drop(self, widget, context, x, y, selection_data, info, time): drops = selection_data.data.split("\n") for drop in drops: if not drop == "": name = drop[:-1] mime = gnomevfs.get_mime_type(name) desc = gnomevfs.mime_get_description(mime) self.label.set_text("MIME Type = %s\nDescription = %s" % (mime, desc)) if __name__ == "__main__": w = MimeWin2() gtk.main()
うん、これなら拡張子無しでもなんでも完璧に Nautilus と同じだ。
dir(gnomevfs)
で見ると更にオイシソウなメソッドが見つかりますね。
ファイル情報取得はこれだけでイケそうです。
ただ GNOME 限定になるのはしかたがない。
Enjoy!