'Return tuple of ints (year, month, day).'

def coerce(self, args):

    if ((tuple(args) == ('', '', '')) and self.allowNone):
        return None
    try:
        (year, month, day) = map(positiveInt, args)
    except ValueError:
        raise InputError('Invalid    date')
    if ((month, day) == (2, 29)):
        if (not calendar.isleap(year)):
            raise InputError(('%d    was    not    a    leap    year' % year))
        else:
            return (year, month, day)
    try:
        mdays = calendar.mdays[month]
    except IndexError:
        raise InputError('Invalid    date')
    if (day > mdays):
        raise InputError('Invalid    date')
    return (year, month, day)
