class_docstr: Airtable connector to retrieving record data.
class_docstr_tok: ["Airtable","connector","to","retrieving","record","data","."]
docstr: Returns the cached Airtable data if it exists and
  is not older than the cache interval.
  
  Returns :
      DataFrame | None : The cached data if
          it exists and is not older than the cache
          interval, None otherwise.
docstr_tok: ["Returns","the","cached","Airtable","data","if","it","exists","and","is","not","older","than","the","cache","interval",".","Returns",":","DataFrame","|","None",":","The","cached","data","if","it","exists","and","is","not","older","than","the","cache","interval",",","None","otherwise","."]
code: def _cached(self, include_additional_filters: bool = False):
      """
      Returns the cached Airtable data if it exists and
      is not older than the cache interval.
  
      Returns :
          DataFrame | None : The cached data if
              it exists and is not older than the cache
              interval, None otherwise.
      """
      cache_path = self._get_cache_path(include_additional_filters)
      if not os.path.exists(cache_path):
          return None
  
      # If the file is older than 1 day , delete it.
      if (
          os.path.getmtime(cache_path)
          < time.time() - self._cache_interval
      ):
          if self.logger:
              self.logger.log(
                  f"Deleting expired cached data from {cache_path}"
              )
          os.remove(cache_path)
          return None
  
      if self.logger:
          self.logger.log(f"Loading cached data from {cache_path}")
  
      return cache_path
  
imports: from .base import AirtableConnectorConfig, BaseConnector, BaseConnectorConfig
  from typing import Union, Optional
  import requests
  import pandas
  import os
  from ..helpers.path import find_project_root
  import time
  import hashlib
  from ..exceptions import InvalidRequestError
  from functools import cache, cached_property
label_desc: Use image node_id 4 for calling the AirtableConnector obj's underlying member method code with example usage: obj._cached(include_additional_filters) and returns: cache_path, None, None