def _resolve_one(self, (first, last, step)):
        first = self.min if first is None else self.map(first)
        last = self.max if last is None else self.map(last)

        if last < first:
            raise ValueError("range end {0} smaller than range start {1}".format(first, last))

        if not self.min <= first <= last <= self.max:
            if first == last:
                raise ValueError("value {0} falls outside of range {1}-{2}".format(first, self.min, self.max))
            else:
                raise ValueError("range {0}-{1} falls outside of range {2}-{3}".format(first, last, self.min, self.max))

        if not 1 <= step <= self.min + 1 - self.max:
            raise ValueError("step {0} outside of range 1-{1}".format(step, self.max - self.min + 1))

        return first, last, step
dataset/ETHPy150Open abusesa/abusehelper/abusehelper/core/cron.py/_Unit._resolve_one/swapped operands of `-`