ファイル情報取得で 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 コードがすぐ見つかる。
日本ってこんなことでもガラパゴス状態なんだよなぁと。
しかしファイルの種類は日本語での取得ができるのかな?試してみよう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | #!/usr/bin/env python#-*- coding:utf-8 -*-import gtkimport gnomevfsclass 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 と同じだ。
1 | dir(gnomevfs) |
で見ると更にオイシソウなメソッドが見つかりますね。
ファイル情報取得はこれだけでイケそうです。
ただ GNOME 限定になるのはしかたがない。
Enjoy!