def _ParseTriggerEndTime(self, parser_mediator, trigger):
    """Parses the end time from a trigger.

    Args:
      parser_mediator (ParserMediator): mediates interactions between parsers
          and other components, such as storage and dfvfs.
      trigger (job_trigger): a trigger.

    Returns:
      dfdatetime.DateTimeValues: last run date and time or None if not
          available.
    """
    time_elements_tuple = (
        trigger.end_date.year, trigger.end_date.month,
        trigger.end_date.day_of_month, 0, 0, 0)

    date_time = None
    if time_elements_tuple != (0, 0, 0, 0, 0, 0):
      try:
        date_time = dfdatetime_time_elements.TimeElements(
            time_elements_tuple=time_elements_tuple)
        date_time.is_local_time = True
        # TODO: add functionality to dfdatetime to control precision.
        date_time._precision = dfdatetime_definitions.PRECISION_1_DAY  # pylint: disable=protected-access
      except ValueError:
        parser_mediator.ProduceExtractionWarning(
            'invalid trigger end time: {0!s}'.format(time_elements_tuple))

    return date_time
def _ParseTriggerEndTime ( self , parser_mediator , trigger ) : time_elements_tuple = ( trigger . end_date . year , trigger . end_date . month , trigger . end_date . day_of_month , 0 , 0 , 0 ) date_time = None if time_elements_tuple != ( 0 , 0 , 0 , 0 , 0 , 0 ) : try : date_time = dfdatetime_time_elements . TimeElements ( time_elements_tuple = time_elements_tuple ) date_time . is_local_time = True date_time . _precision = dfdatetime_definitions . PRECISION_1_DAY except ValueError : parser_mediator . ProduceExtractionWarning ( 'invalid trigger end time: {0!s}' . format ( time_elements_tuple ) ) return date_time
Parses the end time from a trigger.

    Args:
      parser_mediator (ParserMediator): mediates interactions between parsers
          and other components, such as storage and dfvfs.
      trigger (job_trigger): a trigger.

    Returns:
      dfdatetime.DateTimeValues: last run date and time or None if not
          available.