Skip to content

Commit 0e9f5c2

Browse files
committed
Changed formatters to use configuration log2timeline#444
1 parent 41c72bb commit 0e9f5c2

File tree

9 files changed

+16
-81
lines changed

9 files changed

+16
-81
lines changed

data/formatters/windows.yaml

+9
Original file line numberDiff line numberDiff line change
@@ -329,6 +329,15 @@ short_message:
329329
- 'Origin: {key_path}'
330330
---
331331
type: 'conditional'
332+
data_type: 'windows:registry:key_value'
333+
message:
334+
- '[{key_path}]'
335+
- '{values}'
336+
short_message:
337+
- '[{key_path}]'
338+
- '{values}'
339+
---
340+
type: 'conditional'
332341
data_type: 'windows:registry:mount_points2'
333342
message:
334343
- '[{key_path}]'

plaso/formatters/winreg.py

+6-48
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,19 @@
11
# -*- coding: utf-8 -*-
2-
"""The Windows Registry key or value event formatter."""
2+
"""Windows Registry custom event formatter helpers."""
33

44
from __future__ import unicode_literals
55

66
from plaso.formatters import interface
77
from plaso.formatters import manager
88

99

10-
class WinRegistryGenericFormatter(interface.EventFormatter):
11-
"""Formatter for a Windows Registry key or value event."""
10+
class WinRegistryGenericFormatter(interface.CustomEventFormatterHelper):
11+
"""Custom formatter for Windows Registry key or value event values."""
1212

1313
DATA_TYPE = 'windows:registry:key_value'
1414

15-
FORMAT_STRING = '[{key_path}] {values}'
16-
FORMAT_STRING_ALTERNATIVE = '{values}'
17-
1815
def FormatEventValues(self, event_values):
19-
"""Formats event values using the helpers.
16+
"""Formats event values using the helper.
2017
2118
Args:
2219
event_values (dict[str, object]): event values.
@@ -25,45 +22,6 @@ def FormatEventValues(self, event_values):
2522
if not values:
2623
event_values['values'] = '(empty)'
2724

28-
def GetMessage(self, event_values):
29-
"""Determines the message.
30-
31-
Args:
32-
event_values (dict[str, object]): event values.
33-
34-
Returns:
35-
str: message.
36-
"""
37-
if 'key_path' in event_values:
38-
format_string = self.FORMAT_STRING
39-
else:
40-
format_string = self.FORMAT_STRING_ALTERNATIVE
41-
42-
return self._FormatMessage(format_string, event_values)
43-
44-
def GetMessageShort(self, event_values):
45-
"""Determines the short message.
46-
47-
Args:
48-
event_values (dict[str, object]): event values.
49-
50-
Returns:
51-
str: short message.
52-
"""
53-
if self.FORMAT_STRING_SHORT:
54-
format_string = self.FORMAT_STRING_SHORT
55-
elif 'key_path' in event_values:
56-
format_string = self.FORMAT_STRING
57-
else:
58-
format_string = self.FORMAT_STRING_ALTERNATIVE
59-
60-
short_message_string = self._FormatMessage(format_string, event_values)
61-
62-
# Truncate the short message string if necessary.
63-
if len(short_message_string) > 80:
64-
short_message_string = '{0:s}...'.format(short_message_string[:77])
65-
66-
return short_message_string
67-
6825

69-
manager.FormattersManager.RegisterFormatter(WinRegistryGenericFormatter)
26+
manager.FormattersManager.RegisterEventFormatterHelper(
27+
WinRegistryGenericFormatter)

tests/filters/expression_parser.py

-16
Original file line numberDiff line numberDiff line change
@@ -10,28 +10,12 @@
1010
from plaso.containers import events
1111
from plaso.filters import expression_parser
1212
from plaso.filters import filters
13-
from plaso.formatters import interface as formatters_interface
14-
from plaso.formatters import manager as formatters_manager
1513
from plaso.lib import errors
1614

1715
from tests import test_lib as shared_test_lib
1816
from tests.containers import test_lib as containers_test_lib
1917

2018

21-
class PfilterFakeFormatter(formatters_interface.EventFormatter):
22-
"""A formatter for this fake class."""
23-
DATA_TYPE = 'Weirdo:Made up Source:Last Written'
24-
25-
FORMAT_STRING = '{text}'
26-
FORMAT_STRING_SHORT = '{text_short}'
27-
28-
SOURCE_LONG = 'Fake Parsing Source'
29-
SOURCE_SHORT = 'REG'
30-
31-
32-
formatters_manager.FormattersManager.RegisterFormatter(PfilterFakeFormatter)
33-
34-
3519
class TestBinaryOperator(filters.GenericBinaryOperator):
3620
"""Binary operator for testing.
3721

tests/formatters/manager.py

-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
import unittest
88

99
from plaso.formatters import manager
10-
from plaso.formatters import winreg # pylint: disable=unused-import
1110
from plaso.lib import definitions
1211

1312
from tests import test_lib as shared_test_lib

tests/formatters/winreg.py

+1-12
Original file line numberDiff line numberDiff line change
@@ -19,18 +19,7 @@ def testInitialization(self):
1919
event_formatter = winreg.WinRegistryGenericFormatter()
2020
self.assertIsNotNone(event_formatter)
2121

22-
def testGetFormatStringAttributeNames(self):
23-
"""Tests the GetFormatStringAttributeNames function."""
24-
event_formatter = winreg.WinRegistryGenericFormatter()
25-
26-
expected_attribute_names = [
27-
'key_path',
28-
'values']
29-
30-
self._TestGetFormatStringAttributeNames(
31-
event_formatter, expected_attribute_names)
32-
33-
# TODO: add test for GetMessages.
22+
# TODO: add test for FormatEventValues.
3423

3524

3625
if __name__ == '__main__':

tests/parsers/custom_destinations.py

-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66

77
import unittest
88

9-
from plaso.formatters import winlnk # pylint: disable=unused-import
109
from plaso.lib import definitions
1110
from plaso.parsers import custom_destinations
1211

tests/parsers/filestat.py

-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
from dfvfs.lib import definitions as dfvfs_definitions
1111
from dfvfs.path import factory as path_spec_factory
1212

13-
from plaso.formatters import file_system # pylint: disable=unused-import
1413
from plaso.lib import definitions
1514
from plaso.parsers import filestat
1615

tests/parsers/ntfs.py

-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
from dfvfs.lib import definitions as dfvfs_definitions
1010
from dfvfs.path import factory as path_spec_factory
1111

12-
from plaso.formatters import file_system # pylint: disable=unused-import
1312
from plaso.lib import definitions
1413
from plaso.parsers import ntfs
1514

tests/parsers/winreg_plugins/default.py

-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
from dfwinreg import definitions as dfwinreg_definitions
1111
from dfwinreg import fake as dfwinreg_fake
1212

13-
from plaso.formatters import winreg # pylint: disable=unused-import
1413
from plaso.parsers.winreg_plugins import default
1514

1615
from tests.parsers.winreg_plugins import test_lib

0 commit comments

Comments
 (0)