def _parse_day(optval):
        ''' Parse a --day argument '''
        isreq = not optval.startswith('+')
        if not isreq:
            optval = optval[1:]

        try:
            retnval = []
            unit = None
            for val in optval.split(','):
                if not val:
                    raise ValueError
                if val[-1].isdigit():
                    newunit = 'dayofmonth' if isreq else 'day'
                    if unit is None:
                        unit = newunit
                    elif newunit != unit:
                        raise ValueError
                    retnval.append(int(val))
                else:
                    newunit = 'dayofweek'
                    if unit is None:
                        unit = newunit
                    elif newunit != unit:
                        raise ValueError

                    weekday = Cron._parse_weekday(val)
                    if weekday is None:
                        raise ValueError
                    retnval.append(weekday)
            if len(retnval) == 0:
                raise ValueError
        except ValueError:
            return None, None
        if len(retnval) == 1:
            retnval = retnval[0]
        return unit, retnval
def _parse_day ( optval ) : isreq = not optval . startswith ( '+' ) if not isreq : optval = optval [ 1 : ] try : retnval = [ ] unit = None for val in optval . split ( ',' ) : if not val : raise ValueError if val [ - 1 ] . isdigit ( ) : newunit = 'dayofmonth' if isreq else 'day' if unit is None : unit = newunit elif newunit != unit : raise ValueError retnval . append ( int ( val ) ) else : newunit = 'dayofweek' if unit is None : unit = newunit elif newunit != unit : raise ValueError weekday = Cron . _parse_weekday ( val ) if weekday is None : raise ValueError retnval . append ( weekday ) if len ( retnval ) == 0 : raise ValueError except ValueError : return None , None if len ( retnval ) == 1 : retnval = retnval [ 0 ] return unit , retnval
Parse a --day argument