1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 __author__ = "Michael Cohen <scudette@google.com>"
20
21
22 from rekall.ui import text
23 from rekall.plugins.renderers import data_export
24 from rekall_lib import utils
25
26
27 -class FileSpec_Text(text.TextObjectRenderer):
28 renders_type = "FileSpec"
29
30 - def render_row(self, target, width=None, **_):
31 if target.filesystem == "API":
32 return text.Cell(unicode(target.name), width=width)
33
34 else:
35 return text.Cell(u"%s (%s)" % (target.name, target.filesystem),
36 width=width)
37
38
46
47
48 -class UserTextObjectRenderer(text.TextObjectRenderer):
49 renders_type = "User"
50
51 - def render_row(self, item, **_):
52 if item.username:
53 return text.Cell(u"%s (%s)" % (item.username, item.uid))
54 return text.Cell(unicode(item.uid))
55
56
57 -class GroupTextObjectRenderer(text.TextObjectRenderer):
58 renders_type = "Group"
59
60 - def render_row(self, item, **_):
61 if item.group_name:
62 return text.Cell(u"%s (%s)" % (item.group_name, item.gid))
63 return text.Cell(unicode(item.gid))
64
65
68 renders_type = "FileSpec"
69
71 return utils.SmartStr(item)
72
75
76
79 renders_type = "Permissions"
80
82 return utils.SmartStr(item)
83
85 return dict(perm=str(item), int_perm=int(item))
86
87
88 -class LiveProcessTextRenderer(text.TextObjectRenderer):
89 renders_type = "LiveProcess"
90
91 - def render_row(self, target, width=None, **_):
93
100