def parse(self, data):
        new = []
        for part in data.split(self.sep):
            if part == "*":
                new.append((self.MIN, self.MAX))
                break
            tmplist = []
            for subp in part.split(self.rng):
                s = subp.strip()
                tmplist.append(int(s))
            if len(tmplist) == 1:
                new.append((tmplist[0], tmplist[0]))
            elif len(tmplist) == 2 and tmplist[0] <= tmplist[1]:
                new.append((tmplist[0], tmplist[1]))
            else:
                raise ValueError("Unable to parse: %r" % (data,))
        self.pairs.extend(new)
        self.normalize()
dataset/ETHPy150Open kdart/pycopia/process/pycopia/crontab.py/IntSet.parse/original