def METHOD_NAME(self, exercise_base: ExerciseBase):
    """
    "Smart" textual representation
    This is a human representation of the settings, in a way that humans
    would also write: e.g. "8 8 10 10" but "4 x 10" and not "10 10 10 10".
    This helper also takes care to process, hide or show the different repetition
    and weight units as appropriate, e.g. "8 x 2 Plates", "10, 20, 30, ∞"
    :param exercise_base:
    :return setting_text, setting_list:
    """
    def get_rir_representation(setting):
        """
        Returns the representation for the Reps-In-Reserve for a setting
        """
        if setting.rir:
            rir = f"{setting.rir} RiR"
        else:
            rir = ""
        return rir
    def get_reps_reprentation(setting, rep_unit):
        """
        Returns the representation for the repetitions for a setting
        This is basically just to allow for a special representation for the
        "Until Failure" unit
        """
        if setting.repetition_unit_id != 2:
            reps = "{0} {1}".format(setting.reps, rep_unit).strip()
        else:
            reps = '∞'
        return reps
    def get_weight_unit_reprentation(setting):
        """
        Returns the representation for the weight unit for a setting
        This is basically just to allow for a special representation for the
        "Repetition" and "Until Failure" unit
        """
        if setting.repetition_unit.id not in (1, 2):
            rep_unit = _(setting.repetition_unit.name)
        else:
            rep_unit = ''
        return rep_unit
    def normalize_weight(setting):
        """
        The weight can be None, or a decimal. In that case, normalize so
        that we don't return e.g. '15.00', but always '15', independently of
        the database used.
        """
        if setting.weight:
            weight = normalize_decimal(setting.weight)
        else:
            weight = setting.weight
        return weight
    def get_setting_text(current_setting, multi=False):
        """Gets the repetition text for a complete setting"""
        rep_unit = get_weight_unit_reprentation(current_setting)
        reps = get_reps_reprentation(current_setting, rep_unit)
        weight_unit = settings[0].weight_unit.name
        weight = normalize_weight(current_setting)
        rir = get_rir_representation(current_setting)
        out = '{0} × {1}'.format(self.sets, reps).strip() if not multi else reps
        if weight:
            rir_text = f', {rir}' if rir else ''
            out += f' ({weight} {weight_unit}{rir_text})'
        else:
            out += ' ({0})'.format(rir) if rir else ''
        return out
    settings = self.setting_set.select_related().filter(exercise_base=exercise_base)
    setting_text = ''
    # Only one setting entry, this is a "compact" representation such as e.g.
    # 4x10 or similar
    if len(settings) == 1:
        setting = settings[0]
        setting_text = get_setting_text(setting)
    # There's more than one setting, each set can have a different combination
    # of repetitions, weight, etc. e.g. 10, 8, 8, 12
    elif len(settings) > 1:
        tmp_reps_text = []
        for setting in settings:
            tmp_reps_text.append(get_setting_text(setting, multi=True))
        setting_text = ' – '.join(tmp_reps_text)
    return setting_text