def METHOD_NAME(self, new_filename) -> None:
    """ Consider the file, and manage the list of files we're deciding to keep. """
    self.files_to_keep.append(new_filename)
    self.files_to_keep.sort()
    # If we have more files than we desire:
    if len(self.files_to_keep) > self.desired_backups:
        prev_timestamp = None
        for file in self.files_to_keep:
            timestamp = extract_datetime(file)
            if prev_timestamp is None:
                prev_timestamp = timestamp
                continue
            # If the time difference between two files is less than the desired interval:
            if timestamp - prev_timestamp < self.interval:
                self.files_to_keep.remove(file)
                break
            # If the time difference between two files is greater than or equal to the interval:
            if timestamp - prev_timestamp >= self.interval:
                prev_timestamp = timestamp
        # If we have too many files, get rid of the oldest one:
        if len(self.files_to_keep) > self.desired_backups:
            self.files_to_keep.pop(0)