1
2
3
4
5
6 from libxyz.core.plugins import BasePlugin
7 from libxyz.core.utils import ustring
8
9 from libxyz.ui import lowui
10 from libxyz.ui import XYZListBox
11
13 "Plugin fileinfo"
14
15 NAME = u"fileinfo"
16 AUTHOR = u"Max E. Kuznecov"
17 VERSION = u"0.1"
18 BRIEF_DESCRIPTION = u"Show VFS object information"
19 FULL_DESCRIPTION = u"Show detailed information provided by VFS layer"
20 NAMESPACE = u"vfs"
21 MIN_XYZ_VERSION = None
22 DOC = None
23 HOMEPAGE = u"xyzcmd.syhpoon.name"
24
29
30
31
33 """
34 Show VFS object info
35 """
36
37 _selected = self.xyz.pm.from_load(":sys:panel", "get_selected")()
38
39 self.run_hook("fileinfo", _selected)
40
41 _data = []
42 _na = lambda x: lowui.Text(u"%-30s: N/A" % x)
43
44 for _name, _value in _selected.attributes:
45 if _value is None:
46 _data.append(_na(_name))
47 else:
48 if not isinstance(_value, basestring):
49 _value = ustring(str(_value))
50
51 _data.append(lowui.Text(u"%-30s: %s" % (_name, _value)))
52
53 _walker = lowui.SimpleListWalker(_data)
54 _dim = tuple([x - 2 for x in self.xyz.screen.get_cols_rows()])
55
56 XYZListBox(self.xyz, self.xyz.top, _walker, _(u"VFS Object Info"),
57 _dim).show()
58