Skip to content

Commit

Permalink
Fix setting of base_output_dir (#246)
Browse files Browse the repository at this point in the history
* Fix setting of base_output_dir

* Explicit string conversions in format()

* Update docstring
  • Loading branch information
aarontp committed Sep 6, 2018
1 parent 1d31223 commit 715db19
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 10 deletions.
25 changes: 19 additions & 6 deletions turbinia/output_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -172,12 +172,26 @@ class OutputWriter(object):

NAME = 'base_output_writer'

def __init__(self, unique_dir=None, local_output_dir=None):
"""Initialization for OutputWriter."""
self.base_output_dir = ''
def __init__(self, base_output_dir=None, unique_dir=None,
local_output_dir=None):
"""Initialization for OutputWriter.
Args:
base_output_dir (string): The base path for output. Set to the configured
OUTPUT_DIR by default.
local_output_dir: The full path for the local output dir. This will be
generated automatically if not set.
unique_dir (string): A psuedo-unique string to be used in paths. This
will be generated automatically if not set.
"""
self.unique_dir = unique_dir
self.local_output_dir = local_output_dir
self.name = self.NAME
if base_output_dir:
self.base_output_dir = base_output_dir
else:
config.LoadConfig()
self.base_output_dir = config.OUTPUT_DIR
self.create_output_dir()

def create_output_dir(self):
Expand Down Expand Up @@ -222,9 +236,8 @@ class LocalOutputWriter(OutputWriter):
NAME = 'LocalWriter'

def __init__(self, base_output_dir=None, *args, **kwargs):
self.base_output_dir = base_output_dir
self.local_output_dir = None
super(LocalOutputWriter, self).__init__(*args, **kwargs)
super(LocalOutputWriter, self).__init__(base_output_dir=base_output_dir,
*args, **kwargs)

def create_output_dir(self):
self.local_output_dir = os.path.join(self.base_output_dir, self.unique_dir)
Expand Down
4 changes: 2 additions & 2 deletions turbinia/workers/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -359,7 +359,7 @@ def validate_result(self, result):

if not isinstance(result, TurbiniaTaskResult):
bad_message = (
'Task returned type [{0:s}] instead of TurbiniaTaskResult.').format(
'Task returned type [{0!s}] instead of TurbiniaTaskResult.').format(
type(result))
else:
try:
Expand Down Expand Up @@ -470,7 +470,7 @@ def run_wrapper(self, evidence):

if original_result_id != self.result.id:
log.debug(
'Result object {0:s} is different from original {1:s} after task '
'Result object {0:s} is different from original {1!s} after task '
'execution which indicates errors during execution'.format(
self.result.id, original_result_id))
else:
Expand Down
5 changes: 3 additions & 2 deletions turbinia/workers/artifact.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,8 @@ def run(self, evidence, result):
config.LoadConfig()

export_directory = os.path.join(self.output_dir, 'export')
image_export_log = os.path.join(self.output_dir, '{0:s}.log'.format(self.id))
image_export_log = os.path.join(
self.output_dir, '{0:s}.log'.format(self.id))

cmd = [
'image_export.py',
Expand All @@ -64,7 +65,7 @@ def run(self, evidence, result):

ret, _ = self.execute(cmd, result, save_files=[image_export_log])
if ret:
result.close(False, 'image_export.py failed.')
result.close(self, False, 'image_export.py failed.')

for dirpath, _, filenames in os.walk(export_directory):
for filename in filenames:
Expand Down

0 comments on commit 715db19

Please sign in to comment.