예제 #1
0
    def getTone(self):
        """Get Tone for day."""

        #Светлая седмица.
        if self.difference_between_days in range(0, 6):
            self.tone = self.weekday + 1
        elif self.difference_between_days in [6]:
            self.tone = 8
        else:
            if self.difference_between_days < -8 and self.month in [1, 2, 3, 4]:
                self.tone = ((self.julian_date_today - (ju_to_jd(*easter(self.year - 1)))) / 7) % 8
            elif self.difference_between_days > 6:
                self.tone = ((self.julian_date_today - (ju_to_jd(*easter(self.year)))) / 7) % 8
        self.tone_word = {
            1: 'первый',
            2: 'второй',
            3: 'третий',
            4: 'четвертый',
            5: 'пятый',
            6: 'шестой',
            7: 'седьмой',
            0: 'восьмой'
        }

        return 'Глас ' + self.tone_word[self.tone]
예제 #2
0
    def __init__(self, gr_day, gr_month, gr_year):

        self.gr_day = gr_day
        self.gr_month = gr_month
        self.gr_year = gr_year
        self.day, self.month, self.year = gr_to_jd(gr_day, gr_month, gr_year)

        self.saint = menology[self.month][self.day]['saint']
        self.bow = menology[self.month][self.day]['bow']
        #Julian calendar date of Easter.
        self.julian_date_easter = ju_to_jd(*easter(self.year))
        #Julian calendar date day.
        self.julian_date_today = ju_to_jd(self.day, self.month, self.year)
        #Разница между Юлианской датой текущего дня и Юлианской датой Пасхи
        self.difference_between_days = self.julian_date_today - self.julian_date_easter
        #Текущий день недели.
        self.weekday = weekday_ju(self.day, self.month, self.year)

        #Если текущая дата находится в периоде недели от Мытаря и фарисея, то
        #вычитаем Юлианскую дату будущей Пасхи из Юлианской даты текущего дня.
        #Делим на 7, получаем неделю от Пасхи.
        if self.difference_between_days >= -70:
            self.week_from_easter = (self.julian_date_today - (ju_to_jd(*easter(self.year)))) / 7
        else:
            self.week_from_easter = (self.julian_date_today - (ju_to_jd(*easter(self.year - 1)))) / 7
        #Неделя по 50-це.
        self.week_after_pentecost = self.week_from_easter - 7
예제 #3
0
    def getWeekdayname(self):
        """Names of weekday for all the year."""

        #Переходящие праздники.
        if self.difference_between_days in [-70]:
            self.weekdayname = '{red}Неделя о Мытаре и Фарисее. Начало Триоди постной.{end}'
        elif self.difference_between_days in range(-69, -63):
            self.weekdayname = 'Cедмица о Мытаре и Фарисее.'
        elif self.difference_between_days in [-63]:
            self.weekdayname = '{red}Неделя о Блудном сыне.{end}'
        elif self.difference_between_days in range(-62, -57):
            self.weekdayname = 'Седмица Мясопустная.'
        elif self.difference_between_days in [-57]:
            self.weekdayname = 'Суббота Мясопустная. Вселенское поминание усопших.'
        elif self.difference_between_days in [-56]:
            self.weekdayname = '{red}Неделя Мясопустная. Воспоминание Страшного суда.{end}'
        elif self.difference_between_days in range(-55, -50):
            self.weekdayname = 'Седмица Cыропустная.'
        elif self.difference_between_days in [-50]:
            self.weekdayname = '{red}Суббота Cыропустная. Память всех преподобных мужей и жен (Сл.).{end}'
        elif self.difference_between_days in [-49]:
            self.weekdayname = ('{red}Неделя сыропустная. Воспоминание изгнания '
                                'Адама и Еввы из рая.{end}')
        elif self.difference_between_days in range(-48, -43):
            self.weekdayname = 'Первая седмица Великого поста.'
        elif self.difference_between_days in [-43]:
            self.weekdayname = 'Суббота Феодора Тирона.'
        elif self.difference_between_days in [-42]:
            self.weekdayname = '{red}Первая неделя Великого поста. Неделя Православия.{end}'
        elif self.difference_between_days in range(-41, -34):
            self.weekdayname = 'Вторая седмица Великого поста.'
        elif self.difference_between_days in [-34]:
            self.weekdayname = 'Вторая суббота Великого поста. Поминание усопших.'
        elif self.difference_between_days in [-35]:
            self.weekdayname = ('{red}Вторая неделя Великого поста. По уставу Успенского собора '
                                'Московского Кремля совершается служба Федоровской '
                                'иконе пресв. Богородицы.{end}')
        elif self.difference_between_days in range(-34, -29):
            self.weekdayname = 'Третья седмица Великого поста.'
        elif self.difference_between_days in [-29]:
            self.weekdayname = 'Третья суббота Великого поста. Поминание усопших.'
        elif self.difference_between_days in [-28]:
            self.weekdayname = '{red}Третья неделя Великого поста. Поклонение Честному Кресту.{end}'
        elif self.difference_between_days in range(-27, -22):
            self.weekdayname = 'Четвертая седмица Великого поста.'
        elif self.difference_between_days in [-22]:
            self.weekdayname = 'Третья суббота Великого поста. Поминание усопших.'
        elif self.difference_between_days in [-21]:
            self.weekdayname = '{red}Четвертая неделя Великого поста. Иоанна Лествичника.{end}'
        elif self.difference_between_days in range(-20, -15):
        #Марьино стояние меняется с Благовещением.
            if self.weekday in [2] and self.day in [23] and self.month in [3]:
                self.weekdayname = ('Четверток Великого канона преп. Андрея Критского.  '
                                    'Совершается служба Марьино стояние.')
            elif self.weekday in [1, 2, 3, 5]:
                self.weekdayname = 'Пятая седмица Великого поста.'
            #Марьино стояние меняется с Благовещением.
            elif self.weekday in [4] and self.day in [25] and self.month in [3]:
                self.weekdayname = 'Пятая седмица Великого поста.'
            elif self.weekday in [4]:
                self.weekdayname = ('Четверток Великого канона преп. Андрея Критского.  '
                                    'Совершается служба Марьино стояние.')
        elif self.difference_between_days in [-15]:
                self.weekdayname = ('{red}Пятая суббота Великого поста.  '
                                    'Служба Акафиста пресв. Богородицы (Сл.).{end}')
        elif self.difference_between_days in [-14]:
            self.weekdayname = '{red}Пятая неделя Великого поста. Преп. Марьи Египетской.{end}'
        elif self.difference_between_days in range(-13, -8):
            self.weekdayname = 'Шестая седмица Великого поста.'
        elif self.difference_between_days in [-8]:
            self.weekdayname = ('{red}Воскрешение праведного Лазаря. Лазарева суббота (Сл.).  '
                                'Начало Триоди Цветной.{end}')
        elif self.difference_between_days in [-7]:
            self.weekdayname = '{red}⊕ Вход Господень во Иерослаим. Неделя Ваий.{end}'
        elif self.difference_between_days in [-6]:
            self.weekdayname = 'Начало Страстей Господних. Великий понедельник.'
        elif self.difference_between_days in [-5]:
            self.weekdayname = 'Великий вторник.'
        elif self.difference_between_days in [-4]:
            self.weekdayname = 'Великая среда.'
        elif self.difference_between_days in [-3]:
            self.weekdayname = '{red}Великий четверг. Воспоминание Тайной вечери.{end}'
        elif self.difference_between_days in [-2]:
            self.weekdayname = 'Великий пяток.'
        elif self.difference_between_days in [-1]:
            self.weekdayname = 'Великая суббота.'
        elif self.difference_between_days in [0]:
            self.weekdayname = '{red}⊕ Пасха. Светлое Христово Воскресенье.{red}'
        elif self.difference_between_days in range(1, 7):
            if self.weekday in [2]:
                self.weekdayname = ('{red}☩ Во вторник Светлой седмицы празднуем праздник  '
                                    'Одигитрии пресв. Богородицы.{end}')
            else:
                self.weekdayname = '{red}Светлая седмица.{end}'
        elif self.difference_between_days in [7]:
            self.weekdayname = '{red}Неделя о Фоме. Антипасха.{end}'
        elif self.difference_between_days in range(8, 14):
            if self.day in [9]:
                #TODO: Переписать, т. к. Радоница переносится,
                #если припадает в этот день Георгий Победоносец.
                self.weekdayname = ('Радоница. Во вторник второй седмицы по Пасхе '
                                    'совершаем поминовение усопших')
            else:
                self.weekdayname = 'Седмица вторая по Пасхе о Фоме.'
        elif self.difference_between_days in [14]:
            self.weekdayname = ('{red}Неделя третья по Пасхе свв. Жен Мироносиц  '
                                'и Иосифа Праведного.{end}')
        elif self.difference_between_days in range(15, 21):
            self.weekdayname = 'Седмица третья по Пасхе'
        elif self.difference_between_days in [21]:
            self.weekdayname = '{red}Неделя о Расслабленном.{end}'
        elif self.difference_between_days in range(22, 24):
            self.weekdayname = 'Седмица четвертая по Пасхе.'
        elif self.difference_between_days in [24]:
            self.weekdayname = '{red}Преполовение Пятидесятницы (Сл.).{end}'
        elif self.difference_between_days in range(25, 28):
            self.weekdayname = 'Седмица четвертая по Пасхе. Попраздненство Преполовения'
        elif self.difference_between_days in [28]:
            self.weekdayname = '{red}Неделя о Самаряныни.{end}'
        elif self.difference_between_days in range(29, 31):
            self.weekdayname = 'Седмица пятая по Пасхе. Попраздненство Преполовения.'
        elif self.difference_between_days in [31]:
            #TODO:Найти чин службы.
            self.weekdayname = '{red}Отдание празника Преполовения.{end}'
        elif self.difference_between_days in range(32, 35):
            self.weekdayname = 'Седмица пятая по Пасхе.'
        elif self.difference_between_days in [35]:
            self.weekdayname = '{red}Неделя о Слепом.{red}'
        elif self.difference_between_days in range(36, 38):
            self.weekdayname = 'Седмица шестая по Пасхе'
        elif self.difference_between_days in [38]:
            self.weekdayname = '{red}Отдание Пасхи (Сл.).{end}'
        elif self.difference_between_days in [39]:
            self.weekdayname = '{red}⊕ Вознесение Господне.{end}'
        elif self.difference_between_days in range(40, 42):
            self.weekdayname = 'Попраздненство Вознесения. Седмица шестая по Пасхе.'
        elif self.difference_between_days in [42]:
            self.weekdayname = '{red}Неделя свв. Отцов первого Вселенского собора.{end}'
        elif self.difference_between_days in range(43, 46):
            self.weekdayname = 'Попраздненство Вознесения. Седмица седьмая по Пасхе.'
        elif self.difference_between_days in [46]:
            self.weekdayname = '{red}Отдание праздника Вознесения (Сл.).{end}'
        elif self.difference_between_days in [47]:
            self.weekdayname = 'Седмица седьмая по Пасхе.'
        elif self.difference_between_days in [48]:
            self.weekdayname = ('В субботу седьмую по Пасхе совершаем память '
                                'всем успопшим от века во Христа верующим '
                                'отцам и братьям нашим.')
        elif self.difference_between_days in [49]:
            self.weekdayname = '{red}⊕ Пятидесятница. День святой Тройцы.{end}'
        elif self.difference_between_days in [50]:
            self.weekdayname = '{red}Понедельник святого Духа (Сл.).{end}'
        elif self.difference_between_days in range(51, 55):
            self.weekdayname = 'Седмица первая по Пятидесятнице.'
        elif self.difference_between_days in [55]:
            self.weekdayname = '{red}Отдание праздника Пятидесятницы (Сл.).{end}'
        elif self.difference_between_days in [56]:
            self.weekdayname = '{red}Неделя Всех святых.{end}'
        #Неделя свв. Отцов, устав 16 июля.
        elif self.day in [13, 14, 15, 16, 17, 18, 19] and self.month in [7] and self.weekday in [0]:
            self.weekdayname = ('%s неделя по Пятидесятнице. {red}В сию неделю память совершаем святых отец, '
                                'иже на первом соборе, в Никее сшедшася, 318. На втором соборе, сшедшася '
                                'в царствующем граде, 150. На третием соборе во Ефесе, 200. На четвертом '
                                'соборе, иже в Халкидоне, 630. На пятом соборе, 165. На шестом соборе, 170. '
                                'И всех вкупе, 1633.{end}') % str(self.week_after_pentecost)
        #Неделя по Воздвижении.
        elif self.day in [15, 16, 17, 18, 19, 20, 21] and self.month in [9] and self.weekday in [0]:
            self.weekdayname = ('{red}Неделя по Воздвижении.{end} '
                                '%s неделя по Пятидесятнице.') % str(self.week_after_pentecost)
        #Неделя свв. Отцов, устав 11 октября.
        elif self.day in [8, 9, 10, 11, 12, 13, 14] and self.month in [10] and self.weekday in [0]:
            self.weekdayname = ('%s неделя по Пятидесятнице. {red}В сию неделю память совершаем '
                                'святаго вселенскаго собора седьмаго, иже в Никеи собравшевся второе, '
                                'святых отец, 367. На потребление и посрамление безбожных предании, '
                                'хритстоненавидец и християноукоритель, и иконоборец, Копронима же '
                                'нечестиваго, и окаяных его епископ, и неосвященных его архиерей, '
                                'и того безбожнаго и окаяннаго собора.{end}') % str(self.week_after_pentecost)
        #Неделя свв. Праотец.
        elif self.day in [11, 12, 13, 14, 15, 16, 17] and self.month in [12] and self.weekday in [0]:
            self.weekdayname = ('{red}Неделя святых Праотец. '
                                '%s неделя по Пятидесятнице (Пл.).{end}') % str(self.week_after_pentecost)
        #Суббота перед Рожеством.
        elif self.day in [18, 19, 20, 21, 22, 23, 24] and self.month in [12] and self.weekday in [6]:
            self.weekdayname = ('Суббота перед Рожеством Христовым. '
                                '%s суббота по Пятидесятнице.') % str(self.week_after_pentecost + 1)
        #Неделя перед Рожеством.
        elif self.day in [18, 19, 20, 21, 22, 23, 24] and self.month in [12] and self.weekday in [0]:
            self.weekdayname = ('{red}Неделя пред Рожеством Христовым, святых Отец. '
                                '%s неделя по Пятидесятнице (Пл.).{end}') % str(self.week_after_pentecost)
        #Суббота после Рожества.
        elif self.day in [26, 27, 28, 29, 30, 31] and self.month in [12] and self.weekday in [6]:
            self.weekdayname = ('Суббота после Рожества Христова. '
                                '%s суббота по Пятидесятнице.') % str(self.week_after_pentecost + 1)
        #Неделя после Рожества.
        elif self.day in [26, 27, 28, 29, 30, 31] and self.month in [12] and self.weekday in [0]:
            self.weekdayname = ('{red}Неделя после Рожества Христова, святых Богоотец. '
                                '%s неделя по Пятидесятнице (Пл.).{end}') % str(self.week_after_pentecost)
        elif self.day in [1] and self.month in [1] and self.weekday in [0]:
            self.weekdayname = ('{red}Неделя после Рожества Христова, святых Богоотец. '
                                '%s неделя по Пятидесятнице (Пл.).{end}') % str(self.week_after_pentecost)
        #Суббота пред Просвещением. Бывает не каждый год.
        elif self.day in [1, 2, 3, 4, 5] and self.month in [1] and self.weekday in [6]:
            self.weekdayname = ('Суббота пред Просвещением. '
                                '%s суббота по Пятидесятнице.') % str(self.week_after_pentecost + 1)
        #Неделя пред Просвещением. Бывает не каждый год.
        elif self.day in [1, 2, 3, 4, 5] and self.month in [1] and self.weekday in [0]:
            self.weekdayname = ('{red}Неделя пред Просвещением. '
                                '%s неделя по Пятидесятнице (Пл.).{end}') % str(self.week_after_pentecost)
        #Суббота по Просвещении.
        elif self.day in [7, 8, 9, 10, 11, 12, 13] and self.month in [1] and self.weekday in [6]:
            self.weekdayname = ('Суббота по Просвещении. '
                                '%s суббота по Пятидесятнице.') % str(self.week_after_pentecost + 1)
        #Неделя по Просвещении.
        elif self.day in [7, 8, 9, 10, 11, 12, 13] and self.month in [1] and self.weekday in [0]:
            self.weekdayname = ('{red}Неделя по Просвещении. '
                                '%s неделя по Пятидесятнице (Пл.).{end}') % str(self.week_after_pentecost)
        else:
            #Полиелиос в неделю после отдания Воздвижения.
            if self.weekday in [0] and self.julian_date_today > ju_to_jd(5, 10, self.year):
                self.weekdayname = '{red}%s неделя по Пятидесятнице (Пл.).{end}' % str(self.week_after_pentecost)
            elif self.weekday in [0]:
                self.weekdayname = '%s неделя по Пятидесятнице.' % str(self.week_after_pentecost)
            #Димитревская суббота. Если Казанская [4], то переносится в следующую субботу [11].
            elif self.day in [11] and self.month in [10] and self.weekday in [6]:
                self.weekdayname = ('%s суббота по Пятидесятнице. Димитревская родительская суббота. '
                                    'Поминание усопших воинов '
                                    'и всех православных християн. ') % str(self.week_after_pentecost + 1)
            elif self.day in [1, 2, 3, 5, 6, 7] and self.month in [10] and self.weekday in [6]:
                self.weekdayname = ('%s суббота по Пятидесятнице. Димитревская родительская суббота. '
                                    'Поминание усопших воинов '
                                    'и всех православных християн. ') % str(self.week_after_pentecost + 1)
            elif self.weekday in [6]:
                self.weekdayname = '%s суббота по Пятидесятнице.' % str(self.week_after_pentecost + 1)
            else:
                self.weekdayname = '%s сeдмица по Пятидесятнице.' % str(self.week_after_pentecost + 1)
        
        return self.weekdayname
예제 #4
0
    def getFast(self):
        """Get fast for day."""

        #The Charter of fasts for all the year.
        #От Недели о мытаре и фарисее до Недели о блудном сыне.
        if self.difference_between_days in range(-70, -63):
            #Седмица сплошная, пища скоромная.
            self.fast = 7
        #От Недели о блудном сыне до Недели мясопустной.
        elif self.difference_between_days in range(-63, -56):
            if self.weekday in [0, 1, 2, 4, 6]:
                #Пища скоромная.
                if self.weekday in [0, 2, 4, 6] and self.saint in [1, 2, 3, 4, 5, 6]:
                    self.fast = 7
                #Устав о трапезе, кто понедельничает.
                elif self.weekday in [1] and self.saint in [0]:
                    self.fast = 8
                elif self.weekday in [1] and self.saint in [1, 2, 3]:
                    self.fast = 9
                elif self.weekday in [1] and self.saint in [4, 5]:
                    self.fast = 10
                elif self.weekday in [1] and self.saint in [6]:
                    self.fast = 11
            #Устав о трапезе, в среду и в пяток.
            elif self.weekday in [3, 5] and self.saint in [0]:
                self.fast = 1
            elif self.weekday in [3, 5] and self.saint in [1, 2, 3]:
                self.fast = 2
            elif self.weekday in [3, 5] and self.saint in [4, 5]:
                self.fast = 3
            elif self.weekday in [3, 5] and self.saint in [6]:
                self.fast = 5
        #От Недели мясопустной до Недели Сыропустной.
        elif self.difference_between_days in range(-56, -48):
            #Седмица сплошная, на трапезе — млеко, сыр, яйца.
            self.fast = 6
        #От Недели сыропустной до первой недели Великого поста.
        elif self.difference_between_days in range(-49, -42):
            #В первый и второй день Великого Поста.
            if self.weekday in [1, 2] and self.saint in [0, 1, 2, 3]:
                self.fast = 0
            # В первый и второй день Великого Поста
            #если полиелиос или Сретение.
            elif self.weekday in [1, 2] and self.saint in [4, 5, 6]:
                self.fast = 1
            elif self.weekday in [3, 4, 5] and self.saint in [0, 1, 2, 3]:
                self.fast = 1
            elif self.weekday in [3, 4, 5] and self.saint in [4, 5, 6]:
                self.fast = 2
            #В субботу Феодора Тирона.
            elif self.weekday in [6] and self.saint in [0, 1, 2, 3, 4, 5]:
                self.fast = 3
        #От первой недели Великого поста
        #до второй недели Великого поста.
        elif self.difference_between_days in range(-42, -35):
            #В неделю Православия.
            if self.weekday in [0] and self.saint in [0, 1, 2, 3, 4, 5]:
                self.fast = 3
            #В понедельник, среду, пятницу.
            elif self.weekday in [1, 3, 5] and self.saint in [0, 1, 2, 3]:
                self.fast = 1
            #В понедельник, среду, пятницу если полиелиос.
            elif self.weekday in [1, 3, 5] and self.saint in [4, 5]:
                self.fast = 2
            #В понедельник, среду, пятницу если Благовешение.
            elif self.weekday in [1, 3, 5] and self.saint in [6]:
                self.fast = 5
            #Во вторник и четверг.
            elif self.weekday in [2, 4] and self.saint in [0, 1, 2, 3]:
                self.fast = 2
            #Во вторник и четверг если полиелиос.
            elif self.weekday in [2, 4] and self.saint in [4, 5]:
                self.fast = 3
            #Во вторник и четверг если Благовещение.
            elif self.weekday in [2, 4] and self.saint in [6]:
                self.fast = 5
            #В субботу вторую Великого поста.
            elif self.weekday in [6] and self.saint in [0, 1, 2, 3, 4, 5]:
                self.fast = 3
            #В субботу если Благовещенье.
            elif self.weekday in [6] and self.saint in [6]:
                self.fast = 5
        #От второй недели Великого поста
        #до третьей недели Великого поста.
        elif self.difference_between_days in range(-35, -28):
            #В неделю Вторую.
            if self.weekday in [0] and self.saint in [0, 1, 2, 3, 4, 5]:
                self.fast = 3
            #В неделю если Благовещенье.
            elif self.weekday in [0] and self.saint in [6]:
                self.fast = 5
            #В понедельник, среду, пятницу.
            elif self.weekday in [1, 3, 5] and self.saint in [0, 1, 2, 3]:
                self.fast = 1
            #В понедельник, среду, пятницу если полиелиос.
            elif self.weekday in [1, 3, 5] and self.saint in [4, 5]:
                self.fast = 2
            #В понедельник, среду, пятницу если Благовешение.
            elif self.weekday in [1, 3, 5] and self.saint in [6]:
                self.fast = 5
            #Во вторник и четверг.
            elif self.weekday in [2, 4] and self.saint in [0, 1, 2, 3]:
                self.fast = 2
            #Во вторник и четверг если полиелиос.
            elif self.weekday in [2, 4] and self.saint in [4, 5]:
                self.fast = 3
            #Во вторник и четверг если Благовещение.
            elif self.weekday in [2, 4] and self.saint in [6]:
                self.fast = 5
            #В субботу третью Великого поста.
            elif self.weekday in [6] and self.saint in [0, 1, 2, 3, 4, 5]:
                self.fast = 3
            #В субботу третью если Благовещенье.
            elif self.weekday in [6] and self.saint in [6]:
                self.fast = 5
        #От третьей недели Великого поста до четвертой недели Великого поста.
        elif self.difference_between_days in range(-28, -21):
            #В неделю Крестопоклонную.
            if self.weekday in [0] and self.saint in [0, 1, 2, 3, 4, 5]:
                self.fast = 3
            #В неделю Крестопоклонную если Благовещенье.
            elif self.weekday in [0] and self.saint in [6]:
                self.fast = 5
            #В понедельник, среду, пятницу.
            elif self.weekday in [1, 3, 5] and self.saint in [0, 1, 2, 3]:
                self.fast = 1
            #В понедельник, среду, пятницу если полиелиос.
            elif self.weekday in [1, 3, 5] and self.saint in [4, 5]:
                self.fast = 2
            #В понедельник, среду, пятницу если Благовещение.
            elif self.weekday in [1, 3, 5] and self.saint in [6]:
                self.fast = 5
            #Во вторник и четверг.
            elif self.weekday in [2, 4] and self.saint in [0, 1, 2, 3]:
                self.fast = 2
            #Во вторник и четверг если полиелиос.
            elif self.weekday in [2, 4] and self.saint in [4, 5]:
                self.fast = 3
            #Во вторник и четверг если Благовещение.
            elif self.weekday in [2, 4] and self.saint in [6]:
                self.fast = 5
            #В субботу четвертую Великого поста.
            elif self.weekday in [6] and self.saint in [0, 1, 2, 3, 4, 5]:
                self.fast = 3
            #В субботу четвертую если Благовещенье.
            elif self.weekday in [6] and self.saint in [6]:
                self.fast = 5
        #От четвертой недели Великого поста до пятой недели Великого поста.
        elif self.difference_between_days in range(-21, -14):
            #В неделю Иоанна Лествичника.
            if self.weekday in [0] and self.saint in [0, 1, 2, 3, 4, 5]:
                self.fast = 3
            #В неделю Иоанна Лествичника если Благовещенье.
            elif self.weekday in [0] and self.saint in [6]:
                self.fast = 5
            #В понедельник, если Благовещение в четверг,
            #а Марьино стояние во вторник.
            elif self.weekday in [1] and self.day in [22] and self.saint in [0, 1, 2, 3]:
                self.fast = 2
            #В понедельник.
            elif self.weekday in [1] and self.saint in [1, 2, 3]:
                self.fast = 1
            #В понедельник, если полиелиос.
            elif self.weekday in [1] and self.saint in [4, 5]:
                self.fast = 2
            #В понедельник, если Благовещение.
            elif self.weekday in [1] and self.saint in [6]:
                self.fast = 5
            #Во вторник Марьино стояние, если Благовещение в четверг.
            elif self.weekday in [2] and self.day in [23] and self.saint in [0, 1, 2, 3, 4, 5]:
                self.fast = 3
            #Если 40 мученников попадают в четверг Великого канона, то он
            #переносится на вторник. Во вторник — пища с маслом.
            elif self.weekday in [2] and self.day in [7] and self.saint in [0, 1, 2, 3]:
                self.fast = 3
            #Во вторник.
            elif self.weekday in [2] and self.saint in [0, 1, 2, 3]:
                self.fast = 2
            #Во вторник если полиелиос.
            elif self.weekday in [2] and self.saint in [4, 5]:
                self.fast = 3
            #Если Благовещение во вторник.
            elif self.weekday in [2] and self.saint in [6]:
                self.fast = 5
            #В среду.
            elif self.weekday in [3] and self.saint in [0, 1, 2, 3, 4, 5]:
                self.fast = 2
            #В среду, если Благовещение.
            elif self.weekday in [3] and self.saint in [6]:
                self.fast = 5
            #В четверг, Марьино стояние.
            elif self.weekday in [4] and self.saint in [0, 1, 2, 3, 4, 5]:
                self.fast = 3
            #В четверг, если Благовещение.
            elif self.weekday in [4] and self.saint in [6]:
                self.fast = 5
            #В пятницу.
            elif self.weekday in [5] and self.saint in [0, 1, 2, 3]:
                self.fast = 1
            #В пятницу, если полиелиос.
            elif self.weekday in [5] and self.saint in [4, 5]:
                self.fast = 2
            #В пятницу если Благовещение.
            elif self.weekday in [5] and self.saint in [6]:
                self.fast = 5
            #В субботу Акафиста.
            elif self.weekday in [6] and self.saint in [0, 1, 2, 3, 4, 5]:
                self.fast = 3
            #В субботу Акафиста, если Благовещение.
            elif self.weekday in [6] and self.saint in [6]:
                self.fast = 5
        #От пятой недели Великого поста до Вербного воскресенья.
        elif self.difference_between_days in range(-14, -7):
            #В неделю  преп. Марьи Египетской.
            if self.weekday in [0] and self.saint in [0, 1, 2, 3, 4, 5]:
                self.fast = 3
            #В неделю  преп. Марьи Египетской,
            #если Благовещение.
            elif self.weekday in [0] and self.saint in [6]:
                self.fast = 5
            #В понедельник, среду, пятницу.
            elif self.weekday in [1, 3, 5] and self.saint in [0, 1, 2, 3]:
                self.fast = 1
            #В понедельник, среду, пятницу если полиелиос.
            elif self.weekday in [1, 3, 5] and self.saint in [4, 5]:
                self.fast = 2
            #В понедельник, среду, пятницу если Благовешение.
            elif self.weekday in [1, 3, 5] and self.saint in [6]:
                self.fast = 5
            #Во вторник и четверг.
            elif self.weekday in [2, 4] and self.saint in [0, 1, 2, 3]:
                self.fast = 2
            #Во вторник и четверг если полиелиос.
            elif self.weekday in [2, 4] and self.saint in [4, 5]:
                self.fast = 3
            #Во вторник и четверг если Благовещение.
            elif self.weekday in [2, 4] and self.saint in [6]:
                self.fast = 5
            #В субботу Лазаря.
            elif self.weekday in [6] and self.saint in [0, 1, 2, 3, 4, 5]:
                self.fast = 4
            #В субботу если Благовещенье.
            elif self.weekday in [6] and self.saint in [6]:
                self.fast = 5
        #Страстная седмица.
        elif self.difference_between_days in range(-7, 0):
            #В неделю Ваий.
            if self.weekday in [0] and self.saint in [0, 1, 2, 3, 4, 5, 6]:
                self.fast = 5
            #В Страстной понедельник, вторник, среду.
            elif self.weekday in [1, 2, 3] and self.saint in [0, 1, 2, 3]:
                self.fast = 1
            #В Страстной понедельник, вторник, среду,
            #если полиелиос.
            elif self.weekday in [1, 2, 3] and self.saint in [4, 5]:
                self.fast = 1
            #В Страстной понедельник,  вторник, среду,
            #если Благовещение.
            elif self.weekday in [1, 2, 3] and self.saint in [6]:
                self.fast = 3
            #В Великий четверток.
            elif self.weekday in [4] and self.saint in [0, 1, 2, 3, 4, 5]:
                self.fast = 14
            #В Великий четверток, если Благовещение.
            elif self.weekday in [4] and self.saint in [6]:
                self.fast = 3
            #В Великий пяток и Великую субботу
            #трапеза не поставляется.
            elif self.weekday in [5, 6] and self.saint in [0, 1, 2, 3, 4, 5]:
                self.fast = 0
            #В Великий пяток и Великую субботу,
            #если Благовещение.
            elif self.weekday in [5, 6] and self.saint in [6]:
                self.fast = 2
        #Светлая седмица.
        elif self.difference_between_days in range(0, 7):
                #Седмица сплошная, пища скоромная.
                self.fast = 7
        #От Недели Фоминой до Пятидесятницы.
        elif self.difference_between_days in range(7, 50):
            #Неделя Фомина и другие недели.
            if self.weekday in [0] and self.saint in [0, 1, 2, 3, 4, 5]:
                self.fast = 7
            #В для тех кто постится в понедельник.
            elif self.weekday in [1] and self.saint in [0, 1, 2, 3, 4, 5]:
                self.fast = 11
            #Во вторник, четверг, субботу.
            elif self.weekday in [2, 4, 6] and self.saint in [0, 1, 2, 3, 4, 5]:
                    self.fast = 7
            #В среду, пятницу.
            elif self.weekday in [3, 5] and self.saint in [0, 1, 2, 3, 4, 5]:
                    self.fast = 5
            #Сплошная седмица от Пятидесятницы до недели Всех святых.
            elif self.difference_between_days in range(50, 58):
                self.fast = 7
        #Петров пост.
        elif self.julian_date_today in range(self.julian_date_easter + 57, ju_to_jd(29, 6, self.year)):
            #В понедельник, среду, пятницу сухоядение,
            #если святой на 4.
            if self.weekday in [1, 3, 5] and self.saint in [0]:
                self.fast = 1
            #В понедельник, среду, пятницу
            #пища без масла, если святой на 6 или полиелеос.
            elif self.weekday in [1, 3, 5] and self.saint in [0, 1, 2, 3, 4]:
                self.fast = 2
            #В понедельник, среду, пятницу
            #пища с маслом, если бдение.
            elif self.weekday in [1, 3, 5] and self.saint in [5]:
                self.fast = 3
            #В понедельник, среду, пятницу
            #на трапезе рыба, если Рождество Иоанна Предотечи.
            elif self.weekday in [1, 3, 5] and self.saint in [6]:
                self.fast = 5
            #Во вторник, четверг, субботу, неделю,
            #на трапезе рыба.
            elif self.weekday in [0, 2, 4, 6] and self.saint in [0, 1, 2, 3, 4, 5, 6]:
                self.fast = 5
        #Мясоед от дня свв. апп. Петра и Павла до праздника происхождения Креста.
        elif self.julian_date_today in range(ju_to_jd(29, 6, self.year), ju_to_jd(1, 8, self.year)):
            #Неделя, вторник, четверг, суббота.
            if self.weekday in [0, 2, 4, 6] and self.saint in [0, 1, 2, 3, 4, 5, 6]:
                self.fast = 7
            #В для тех кто постится в понедельник.
            elif self.weekday in [1] and self.saint in [0, 1]:
                self.fast = 9
            #В для тех кто постится в понедельник,
            #когда Славословие и Полиелеос.
            elif self.weekday in [1] and self.saint in [2, 3, 4, 5]:
                self.fast = 10
            #Великобденный в понедельник.
            elif self.weekday in [1] and self.saint in [6]:
                self.fast = 11
            #Среда, пятница.
            elif self.weekday in [3, 5] and self.saint in [0, 1]:
                self.fast = 2
            #когда Славословие и Полиелеос.
            elif self.weekday in [3, 5] and self.saint in [2, 3, 4, 5]:
                self.fast = 3
            #Великобденный в среду, пятницу.
            elif self.weekday in [3, 5] and self.saint in [6]:
                self.fast = 5
        #Успенский пост.
        elif self.julian_date_today in range(ju_to_jd(1, 7, self.year), ju_to_jd(15, 8, self.year)):
            #В понедельник, среду, пятницу сухоядение,
            #если святой на 4.
            if self.weekday in [1, 3, 5] and self.saint in [0]:
                self.fast = 1
            #В понедельник, среду, пятницу
            #пища без масла, если святой на 6 или полиелеос.
            elif self.weekday in [1, 3, 5] and self.saint in [1, 2, 3, 4]:
                self.fast = 2
            #В понедельник, среду, пятницу
            #пища с маслом, если бдение.
            elif self.weekday in [1, 3, 5] and self.saint in [5]:
                self.fast = 3
            #Во вторник, четверг, субботу, неделю,
            #на трапезе масло.
            elif self.weekday in [0, 2, 4, 6] and self.saint in [0, 1, 2, 3, 4, 5]:
                self.fast = 5
            #Рыба на Преображение.
            elif self.weekday in [0, 1, 2, 3, 4, 5, 6] and self.saint in [6]:
                self.fast = 5
        #Усекновение.
        elif self.julian_date_today == ju_to_jd(29, 8, self.year):
            self.fast = 3
        #Воздвижение.
        elif self.julian_date_today == ju_to_jd(14, 9, self.year):
            self.fast = 3
        #Мясоед от праздника Успения до памяти ап. Филиппа.
        elif self.julian_date_today in range(ju_to_jd(15, 8, self.year), ju_to_jd(14, 11, self.year)):
            #Неделя, вторник, четверг, суббота.
            if self.weekday in [0, 2, 4, 6] and self.saint in [0, 1, 2, 3, 4, 5, 6]:
                self.fast = 7
            #Для тех кто постится в понедельник.
            elif self.weekday in [1] and self.saint in [0, 1]:
                self.fast = 9
            #В для тех кто постится в понедельник,
            #когда славословие и полиелеос.
            elif self.weekday in [1] and self.saint in [2, 3, 4]:
                self.fast = 10
            #Бденный, великобденный в понедельник.
            elif self.weekday in [1] and self.saint in [5, 6]:
                self.fast = 11
            #Среда, пятница.
            elif self.weekday in [3, 5] and self.saint in [0, 1]:
                self.fast = 2
            #Когда славословие и полиелеос, бдение.
            elif self.weekday in [3, 5] and self.saint in [2, 3, 4, 5]:
                self.fast = 3
            #Великобденный в среду, пятницу.
            elif self.weekday in [3, 5] and self.saint in [6]:
                self.fast = 5
        #От дня ап. Филиппа до дня свт. Николы.
        elif self.julian_date_today in range(ju_to_jd(14, 11, self.year), ju_to_jd(6, 12, self.year)):
            #В понедельник, среду, пятницу сухоядение,
            #если святой на 4.
            if self.weekday in [1, 3, 5] and self.saint in [0]:
                self.fast = 1
            #В понедельник, среду, пятницу
            #пища без масла, если святой на 6 или полиелеос.
            elif self.weekday in [1, 3, 5] and self.saint in [1, 2, 3, 4]:
                self.fast = 2
            #В понедельник, среду, пятницу
            #пища с маслом, если бдение.
            elif self.weekday in [1, 3, 5] and self.saint in [5]:
                self.fast = 3
            #Введение Пресвятой Богородицы,
            #на трапезе рыба.
            elif self.weekday in [1, 3, 5] and self.saint in [6]:
                self.fast = 5
            #Во вторник, четверг, субботу, неделю,
            #на трапезе рыба.
            elif self.weekday in [0, 2, 4, 6] and self.saint in [0, 1, 2, 3, 4, 5, 6]:
                self.fast = 5
        #Предпразднество Рожества.
        elif self.day in [20, 21, 22, 23, 24] and self.month in [12]:
            #В будние дни пища без масла.
            if self.weekday in [1, 2, 3, 4, 5] and self.saint in [0, 1, 2, 3, 4, 5]:
                self.fast = 2
            #В субботу, неделю пища с маслом.
            elif self.weekday in [0, 6] and self.saint in [0, 1, 2, 3, 4, 5]:
                self.fast = 3
        #От дня свт. Николы до Рожества.
        elif self.julian_date_today in range(ju_to_jd(6, 12, self.year), ju_to_jd(25, 12, self.year)):
            #В понедельник, среду, пятницу сухоядение,
            #если святой на 4.
            if self.weekday in [1, 3, 5] and self.saint in [0]:
                self.fast = 1
            #В понедельник, среду, пятницу
            #пища без масла, если святой на 6 или полиелеос.
            elif self.weekday in [1, 3, 5] and self.saint in [0, 1, 2, 3, 4]:
                self.fast = 2
            #В понедельник, среду, пятницу
            #пища с маслом, если бдение.
            elif self.weekday in [1, 3, 5] and self.saint in [5]:
                self.fast = 3
            #Во вторник и четверток едим с маслом.
            elif self.weekday in [2, 4] and self.saint in [0, 1, 2, 3, 4, 5]:
                self.fast = 3
            #В субботу, неделю
            #на трапезе рыба.
            elif self.weekday in [0, 6] and self.saint in [0, 1, 2, 3, 4, 5]:
                self.fast = 5
        #Навечерие Богоявления.
        elif self.julian_date_today == ju_to_jd(5, 1, self.year):
            #В будние дни пища без масла.
            if self.weekday in [1, 2, 3, 4, 5] and self.saint in [0, 1, 2, 3, 4, 5]:
                self.fast = 2
            #В субботу, неделю пища с маслом.
            elif self.weekday in [0, 6] and self.saint in [0, 1, 2, 3, 4, 5]:
                self.fast = 3
        #Святки.
        elif self.julian_date_today in range(ju_to_jd(25, 12, self.year), ju_to_jd(31, 12, self.year) + 1):
            self.fast = 7
        elif self.julian_date_today in range(ju_to_jd(1, 1, self.year), ju_to_jd(7, 1, self.year)):
            self.fast = 7
        #От Крещения Господня до Недели о мытаре и фарисее.
        else:
            #В неделю, вторник, четверг, субботу.
            if self.weekday in [0, 2, 4, 6] and self.saint in [0, 1, 2, 3, 4, 5, 6]:
                self.fast = 7
            #В для тех кто постится в понедельник.
            elif self.weekday in [1] and self.saint in [0, 1, 2, 3, 4, 5, 6]:
                self.fast = 11
            #В среду, пятницу.
            elif self.weekday in [3, 5] and self.saint in [0, 1, 2, 3, 4, 5, 6]:
                self.fast = 5

        self.fasts_word = {
            0: 'Трапеза не поставляется.',
            1: 'Сухоядение.',
            2: 'Пища без масла.',
            3: 'Пища с маслом.',
            4: 'Пища с икрой.',
            5: 'Пища с рыбой.',
            6: 'На трапезе — молоко, сыр, яйца.',
            7: 'Пища скоромная.',
            8: 'Для постящихся в понедельник — сухоядение, для остальных — пища скоромная.',
            9: 'Для постящихся в понедельник — пища без масла, для остальных — пища скоромная.',
            10: 'Для постящихся в понедельник — пища с маслом, для остальных — пища скоромная.',
            11: 'Для постящихся в понедельник — пища с рыбой,  для остальных — пища скоромная.',
            12: 'На трапезе — молоко, сыр, яйца.',
            13: 'Пища скоромная.',
            14: 'Пища без масла, пьем вино ради восопминания Вечери Господней.'
        }

        return self.fasts_word[self.fast]