def __init__(self, *args, **kw):
        super(DateConverter, self).__init__(*args, **kw)
        month_style = (self.month_style or DateConverter.month_style).lower()
        accept_day = bool(self.accept_day)
        self.accept_day = self.accept_day
        if month_style in ('mdy',
                'md', 'mm/dd/yyyy', 'mm/dd', 'us', 'american'):
            month_style = 'mdy'
        elif month_style in ('dmy',
                'dm', 'dd/mm/yyyy', 'dd/mm', 'euro', 'european'):
            month_style = 'dmy'
        elif month_style in ('ymd',
                'ym', 'yyyy/mm/dd', 'yyyy/mm', 'iso', 'china', 'chinese'):
            month_style = 'ymd'
        else:
            raise TypeError('Bad month_style: %r' % month_style)
        self.month_style = month_style
        separator = self.separator
        if not separator or separator == 'auto':
            separator = dict(mdy='/', dmy='.', ymd='-')[month_style]
        elif separator not in ('-', '.', '/', '\\'):
            raise TypeError(separator % 'Bad separator: %r')
        self.separator = separator
        self.format = separator.join(self._formats[part]
            for part in month_style if part != 'd' or accept_day)
        self.human_format = separator.join(self._human_formats[part]
            for part in month_style if part != 'd' or accept_day)
dataset/ETHPy150Open formencode/formencode/formencode/validators.py/DateConverter.__init__/swapped operands of `%`