예제 #1
0
  def deserialize(cls, input_dict):
    """Converts an input dictionary back into a TurbiniaTask object.

    Args:
      input_dict (dict): TurbiniaTask object dictionary.

    Returns:
      TurbiniaTask: Deserialized object.
    """
    from turbinia import client  # Avoid circular imports

    type_ = input_dict['name']
    try:
      task = getattr(sys.modules['turbinia.client'], type_)()
    except AttributeError:
      message = (
          "Could not import {0:s} object! Make sure it is imported where "
          "this method is defined.".format(type_))
      log.error(message)
      raise TurbiniaException(message)
    task.__dict__.update(input_dict)
    task.output_manager = output_manager.OutputManager()
    task.output_manager.__dict__.update(input_dict['output_manager'])
    task.last_update = datetime.strptime(
        input_dict['last_update'], DATETIME_FORMAT)
    return task
예제 #2
0
  def __init__(
      self, name=None, base_output_dir=None, request_id=None, requester=None):
    """Initialization for TurbiniaTask."""
    if base_output_dir:
      self.base_output_dir = base_output_dir
    else:
      self.base_output_dir = config.OUTPUT_DIR

    self.id = uuid.uuid4().hex
    self.is_finalize_task = False
    self.job_id = None
    self.job_name = None
    self.last_update = datetime.now()
    self.name = name if name else self.__class__.__name__
    self.output_dir = None
    self.output_manager = output_manager.OutputManager()
    self.result = None
    self.request_id = request_id
    self.run_local = False
    self.state_key = None
    self.stub = None
    self.tmp_dir = None
    self.turbinia_version = turbinia.__version__
    self.requester = requester if requester else 'user_unspecified'
    self._evidence_config = {}
예제 #3
0
 def __init__(self, name=None, base_output_dir=None, request_id=None):
     """Initialization for TurbiniaTask."""
     if base_output_dir:
         self.base_output_dir = base_output_dir
     else:
         self.base_output_dir = config.OUTPUT_DIR
     self.id = uuid.uuid4().hex
     self.last_update = datetime.now()
     self.name = name if name else self.__class__.__name__
     self.output_dir = None
     self.output_manager = output_manager.OutputManager()
     self.result = None
     self.request_id = request_id
     self.state_key = None
     self.stub = None
예제 #4
0
    def __init__(self,
                 name=None,
                 base_output_dir=None,
                 request_id=None,
                 requester=None,
                 group_name=None,
                 reason=None,
                 all_args=None,
                 group_id=None):
        """Initialization for TurbiniaTask.
    
    Args:
      base_output_dir(str): Output dir to store Turbinia results.
      request_id(str): The request id
      requester(str): Name of the requester
      group_id(str): The group id
    """
        if base_output_dir:
            self.base_output_dir = base_output_dir
        else:
            self.base_output_dir = config.OUTPUT_DIR

        self.id = uuid.uuid4().hex
        self.is_finalize_task = False
        self.job_id = None
        self.job_name = None
        self.last_update = datetime.now()
        self.name = name if name else self.__class__.__name__
        self.output_dir = None
        self.output_manager = output_manager.OutputManager()
        self.result = None
        self.request_id = request_id
        self.state_key = None
        self.start_time = datetime.now()
        self.stub = None
        self.tmp_dir = None
        self.turbinia_version = turbinia.__version__
        self.requester = requester if requester else 'user_unspecified'
        self._evidence_config = {}
        self.recipe = {}
        self.task_config = {}
        self.group_name = group_name
        self.reason = reason
        self.all_args = all_args
        self.group_id = group_id