code: def Matches(self, file_entry):
      
      if not self._date_time_ranges:
        return None
  
      for date_time_range in self._date_time_ranges:
        time_attribute = self._TIME_VALUE_MAPPINGS.get(
            date_time_range.time_value, None)
        if not time_attribute:
          continue
  
        timestamp = getattr(file_entry, time_attribute, None)
        if timestamp is None:
          continue
  
        if (date_time_range.start_date_time is not None and
            timestamp < date_time_range.start_date_time):
          return False
  
        if (date_time_range.end_date_time is not None and
            timestamp > date_time_range.end_date_time):
          return False
  
      return True
docs: Compares the file entry against the filter.
  
      Args:
        file_entry (dfvfs.FileEntry): file entry to compare.
  
      Returns:
        bool: True if the file entry matches the filter, False if not or
            None if the filter does not apply.