class_docstr: Centralized config for handling configuration loading/parsing
class_docstr_tok: ["Centralized","config","for","handling","configuration","loading\/parsing"]
docstr: Determine the last time this function was executed and fallback on
  evaluating the rate value if there is no last timestamp available
  
  Returns:
      int: The unix timestamp for the starting point to fetch logs back to
docstr_tok: ["Determine","the","last","time","this","function","was","executed","and","fallback","on","evaluating","the","rate","value","if","there","is","no","last","timestamp","available","Returns",":","int",":","The","unix","timestamp","for","the","starting","point","to","fetch","logs","back","to"]
code: def _determine_last_time(self, date_format):
      """Determine the last time this function was executed and fallback on
      evaluating the rate value if there is no last timestamp available
  
      Returns:
          int: The unix timestamp for the starting point to fetch logs back to
      """
      if not self.last_timestamp:
          interval_time = self._evaluate_interval()
          current_time = int(calendar.timegm(time.gmtime()))
          time_delta = current_time - interval_time
          LOGGER.debug(
              "Current timestamp: %s seconds. Calculated delta: %s seconds",
              current_time,
              time_delta,
          )
  
          # Request the date format from the app since some services expect different types
          # Using init=False will return the class without instantiating it
          if date_format:
              self.last_timestamp = datetime.utcfromtimestamp(
                  time_delta
              ).strftime(date_format)
          else:
              self.last_timestamp = time_delta
  
      LOGGER.info(
          "Starting last timestamp set to: %s", self.last_timestamp
      )
  
      return self.last_timestamp
  
imports: import calendar
  from datetime import datetime
  import json
  import re
  import time
  import backoff
  import boto3
  from botocore import client
  from botocore.exceptions import ClientError
  from streamalert.apps.exceptions import AppAuthError, AppConfigError, AppStateError
  from streamalert.shared.logger import get_logger
label_desc: Use image node_id 15 for calling the AppConfig obj's underlying member method code with example usage: obj._determine_last_time(date_format) and returns: self