前々回。
「g_content_type_guess だと ContentType は拡張子依存みたい」
と書いた手前、筆者的には当然の結果だけど一応試してみた。
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 | #!/usr/bin/env python3 from gi.repository import Gio # Doesn't exist a File. ans = Gio.content_type_guess( "Not Found.txt" ) print (ans) #=> ('text/plain', False) # File Create (No Ext). with open ( "found" , "w" ) as f: f.write( "#!/usr/bin/env python3\n" ) # g_content_type_guess ans = Gio.content_type_guess( "found" ) print (ans) #=> ('application/octet-stream', False) # Gio Query obj = Gio.file_new_for_path( "found" ) info = obj.query_info( Gio.FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE, Gio.FileQueryInfoFlags.NONE ) ans = info.get_content_type() print (ans) #=> text/x-python |
やっぱり拡張子の有無で関数の違いが出るんですね。
Gtk, GLib と付き合いが長いので結果は解っていたけどこういうこと。
つまり面倒臭い手段を使えば予定通りな結果が得られる。
GNOME プロジェクトは計画的にやっているんだろうな、と思ってしまう。
何故こうなるかは割愛、これは GNOME 関連では単純なほうだyo!