code: def _get_formatted_step(
      self,
      batch_number: int,
      steps: Union[int, None],
      prefix: str = "",
      suffix: str = "",
      ratio: bool = True,
  ) -> str:
      # pylint: disable=too-many-arguments
      step_text = f"{prefix}step{suffix}".capitalize()
      ratio_text = ""
      if steps is None:
          formatted_step = f"{self.text_color}{step_text}: {self.ratio_color}{batch_number:d} "
      else:
          digits = int(math.log10(steps)) + 1
          if ratio:
              ratio_text = f"/{steps:d}"
          formatted_step = f"{self.text_color}{step_text}: {self.ratio_color}{batch_number:{digits}d}{ratio_text} "
      return formatted_step
  
imports: import math
  import sys
  import time
  import warnings
  from typing import Dict, Union
  from poutyne.framework.callbacks.progress_bar import ProgressBar
  from poutyne.utils import is_in_jupyter_notebook
label_desc: Use image node_id 22 for calling the ColorProgress obj's underlying member method code with example usage: obj._get_formatted_step(batch_number, steps, prefix, suffix, ratio) and returns: formatted_step