<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def fit_text(self, font_family='Calibri', max_size=18, bold=False, italic=False, font_file=None):
 """Fit text-frame text entirely within bounds of its shape. Make the text in this text frame fit entirely within the bounds of its shape by setting word wrap on and applying the "best-fit" font size to all the text it contains. :attr:`TextFrame.auto_size` is set to :attr:`MSO_AUTO_SIZE.NONE`. The font size will not be set larger than *max_size* points. If the path to a matching TrueType font is provided as *font_file*, that font file will be used for the font metrics. If *font_file* is |None|, best efforts are made to locate a font file with matchhing *font_family*, *bold*, and *italic* installed on the current system (usually succeeds if the font is installed). """

        # ---no-op when empty as fit behavior not defined for that case---
        if self.text == '':
            return

        font_size = self._best_fit_font_size(
            font_family, max_size, bold, italic, font_file
        )
        self._apply_fit(font_family, font_size, bold, italic)