def is_working_day(self, day,<EOL>extra_working_days=None, extra_holidays=None):
day = cleaned_date(day)<EOL>if extra_working_days:<EOL><INDENT>extra_working_days = tuple(map(cleaned_date, extra_working_days))<EOL><DEDENT>if extra_holidays:<EOL><INDENT>extra_holidays = tuple(map(cleaned_date, extra_holidays))<EOL><DEDENT>if extra_working_days and day in extra_working_days:<EOL><INDENT>return True<EOL><DEDENT>if day.weekday() in self.get_weekend_days():<EOL><INDENT>return False<EOL><DEDENT>return not self.is_holiday(day, extra_holidays=extra_holidays)<EOL>
Return True if it's a working day.
        In addition to the regular holidays, you can add exceptions.

        By providing ``extra_working_days``, you'll state that these dates
        **are** working days.

        By providing ``extra_holidays``, you'll state that these dates **are**
        holidays, even if not in the regular calendar holidays (or weekends).

        Please note that the ``extra_working_days`` list has priority over the
        ``extra_holidays`` list.