ファイル情報取得で 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 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 と同じだ。
1 | dir (gnomevfs) |
で見ると更にオイシソウなメソッドが見つかりますね。
ファイル情報取得はこれだけでイケそうです。
ただ GNOME 限定になるのはしかたがない。
Enjoy!