def __call__(self, form, field):
        fdata = field.data if isinstance(field.data, (list, tuple)) else [field.data]
        for data in fdata:
            if data is None or (self.min is not None and data < self.min) or \
                    (self.max is not None and data > self.max):
                message = self.message
                if message is None:
                    # we use %(min)s interpolation to support floats, None, and
                    # Decimals without throwing a formatting exception.
                    if self.max is None:
                        message = field.gettext('Number %(data)s must be at least %(min)s.')
                    elif self.min is None:
                        message = field.gettext('Number %(data)s must be at most %(max)s.')
                    else:
                        message = field.gettext('Number %(data)s must be between %(min)s and %(max)s.')

                raise validators.ValidationError(dict(data=data, min=self.min, max=self.max) % message)
dataset/ETHPy150Open NVIDIA/DIGITS/digits/utils/forms.py/MultiNumberRange.__call__/swapped operands of `%`