code: def enough_time_for_step(self, fit_level):
      if fit_level in ["ensemble", "ensemble_stacked", "fairness"]:
          return True
      total_time_spend = time.time() - self._start_time
      compound = self.compound_time_should_use(fit_level)
      # print("Enough time for step", fit_level, np.round(total_time_spend,2), np.round(compound,2))
      if total_time_spend > compound:
          # dont train more
          return False
  
      return True
  
file_path: mljar-supervised/supervised/tuner/time_controller.py
imports: import json
  import logging
  import time
  import numpy
  import pandas
  from supervised.utils.config import LOG_LEVEL
label_desc: Use image node_id 7 for calling the TimeController obj's underlying member method code with example usage: obj.enough_time_for_step(fit_level) and returns: True, True, False