def _get_thumb_path(self):
result = None
if (
self.kind != HistoryItemKind.FILE and
self.kind != HistoryItemKind.IMAGE
): return result
filename = os.path.expanduser(self._raw)
if not os.path.exists(filename): return result
uri = 'file://%s' % filename
file_ = Gio.file_new_for_uri(uri)
try:
info = file_.query_info(
'standard::content-type,thumbnail::path',
Gio.FileQueryInfoFlags.NONE
)
path = info.get_attribute_byte_string('thumbnail::path')
self._content_type = info.get_content_type()
is_image = self._content_type.startswith('image')
if path:
result = path
elif is_image:
try:
GdkPixbuf.Pixbuf.new_from_file_at_scale(
filename,
80,
80,
False
)
except GLib.Error:
pass
else:
result = filename
else:
pass
except GLib.Error:
pass
finally:
return result
评论列表
文章目录