Compute Chinese New Year days. To return a list of holidays.

        By default, it'll at least return the Chinese New Year holidays chosen
        using the following options:

        * ``include_chinese_new_year_eve``
        * ``include_chinese_new_year`` (on by default)
        * ``include_chinese_second_day``

        If the ``shift_sunday_holidays`` option is on, the rules are the
        following.

        * If the CNY1 falls on MON-FRI, there's not shift.
        * If the CNY1 falls on SAT, the CNY2 is shifted to the Monday after.
        * If the CNY1 falls on SUN, the CNY1 is shifted to the Monday after,
          and CNY2 is shifted to the Tuesday after.

def get_chinese_new_year(self, year):
        """
        Compute Chinese New Year days. To return a list of holidays.

        By default, it'll at least return the Chinese New Year holidays chosen
        using the following options:

        * ``include_chinese_new_year_eve``
        * ``include_chinese_new_year`` (on by default)
        * ``include_chinese_second_day``

        If the ``shift_sunday_holidays`` option is on, the rules are the
        following.

        * If the CNY1 falls on MON-FRI, there's not shift.
        * If the CNY1 falls on SAT, the CNY2 is shifted to the Monday after.
        * If the CNY1 falls on SUN, the CNY1 is shifted to the Monday after,
          and CNY2 is shifted to the Tuesday after.
        """
        days = []

        lunar_first_day = ChineseNewYearCalendar.lunar(year, 1, 1)
        # Chinese new year's eve
        if self.include_chinese_new_year_eve:
            days.append((
                lunar_first_day - timedelta(days=1),
                self.chinese_new_year_eve_label
            ))
        # Chinese new year (is included by default)
        if self.include_chinese_new_year:
            days.append((lunar_first_day, self.chinese_new_year_label))

        if self.include_chinese_second_day:
            lunar_second_day = lunar_first_day + timedelta(days=1)
            days.append((
                lunar_second_day,
                self.chinese_second_day_label
            ))
        if self.include_chinese_third_day:
            lunar_third_day = lunar_first_day + timedelta(days=2)
            days.append((
                lunar_third_day,
                self.chinese_third_day_label
            ))

        if self.shift_sunday_holidays:
            if lunar_first_day.weekday() == SUN:
                if self.shift_start_cny_sunday:
                    days.append(
                        (lunar_first_day - timedelta(days=1),
                         "Chinese Lunar New Year shift"),
                    )
                else:
                    if self.include_chinese_third_day:
                        shift_day = lunar_third_day
                    else:
                        shift_day = lunar_second_day
                    days.append(
                        (shift_day + timedelta(days=1),
                         "Chinese Lunar New Year shift"),
                    )
            if (lunar_second_day.weekday() == SUN
                    and self.include_chinese_third_day):
                days.append(
                    (lunar_third_day + timedelta(days=1),
                     "Chinese Lunar New Year shift"),
                )
        return days