예제 #1
0
def get_shabbos_string(loc, lang):
    tz = f.get_tz_by_location(loc)
    tz_time = pytz.timezone(tz)
    now = datetime.now(tz_time)
    date_str = f'{now.year}-{now.month}-{now.day}'
    shabbat_date = get_next_weekday(date_str, 5)
    url = '{url}/getCalendarData.php?mode=day&timezone='\
          '{timezone}&dateBegin={month}/{day}/{year}'\
          '&lat={latitude}&lng={longitude}'.format(url=URL,
                                                   timezone=tz,
                                                   month=shabbat_date[5:7:],
                                                   day=shabbat_date[8::],
                                                   year=shabbat_date[:4:],
                                                   latitude=loc[0],
                                                   longitude=loc[1]
                                                   )
    shabbat = requests.get(url)
    shabbat_dict = shabbat.json()
    if lang == 'Русский':
        shabbat_str = 'Недельная глава: {}\n' \
                      'Зажигание свечей: {}\n' \
                      'Выход звёзд: {}'.format(
                            data.parashat[shabbat_dict['parsha_shabbos']],
                            shabbat_dict['candle_lighting_shabbos'][:-3:],
                            shabbat_dict['zmanim']['tzeis_850_degrees'][:-3]
                            )
    elif lang == 'English':
        shabbat_str = 'Parshat hashavua: {}\n' \
                      'Candle lighting: {}\n' \
                      'Tzeit hakochavim: {}'.format(
                            shabbat_dict['parsha_shabbos'],
                            shabbat_dict['candle_lighting_shabbos'][:-3:],
                            shabbat_dict['zmanim']['tzeis_850_degrees'][:-3]
                            )
    return shabbat_str
예제 #2
0
def handle_text(message):
    f.check_location(message.from_user.id,
                     message.location.latitude,
                     message.location.longitude
                     )
    tz = f.get_tz_by_location(f.get_location_by_id(message.from_user.id))
    f.check_tz(message.from_user.id, tz)
    botan.track(message.from_user.id, message, 'Получил геометку')
예제 #3
0
파일: bot.py 프로젝트: Feviad/zmanim_test
def handle_text(message):
    f.check_id_in_db(message.from_user)
    if f.check_location(message.from_user.id, message.location.latitude,
                        message.location.longitude, bot):
        text_handler.make_response('Back', message.from_user.id, bot)
        tz = f.get_tz_by_location(f.get_location_by_id(message.from_user.id))
        f.check_tz(message.from_user.id, tz)
        logger.info(f' Location: '
                    f'{message.location.latitude}, '
                    f'{message.location.longitude}, '
                    f'from: {message.from_user.id}')
        botan.track(config.BOTAN_KEY, message.from_user.id, message,
                    'Получил геометку')
예제 #4
0
파일: bot.py 프로젝트: Feviad/zmanim_test
def handle_text(message):
    f.check_id_in_db(message.from_user)
    loc = message.text.split(sep=', ')
    if loc[0] == message.text:
        loc = message.text.split(sep=',')
    if f.check_location(message.from_user.id, loc[0], loc[1], bot):
        text_handler.make_response('Back', message.from_user.id, bot)
        logger.info(f' Text location: {loc[0]}, {loc[1]}, '
                    f'from: {message.from_user.id}')
        tz = f.get_tz_by_location(f.get_location_by_id(message.from_user.id))
        f.check_tz(message.from_user.id, tz)
        botan.track(config.BOTAN_KEY, message.from_user.id, message,
                    'Получил текстовую геометку')
예제 #5
0
def get_rh(loc, lang):
    tz = f.get_tz_by_location(loc)
    tz_time = pytz.timezone(tz)
    now = datetime.now(tz_time)
    hebrew_date = dates.GregorianDate(now.year,
                                      now.month, now.day).to_heb().tuple()

    if hebrew_date[1] == 6:
        hebrew_date = (hebrew_date[0] + 1, 7, hebrew_date[2])
    params = {'hebrewYear': hebrew_date[0]}
    chodesh = requests.get(URL, params=params)
    chodesh_dict = chodesh.json()
    if (len(chodesh_dict) == 13) and (hebrew_date[1] == 13) or \
            (len(chodesh_dict) == 12) and (hebrew_date[1] == 12):
        chodesh_dict = chodesh_dict[0]  # выбираем нисан
    else:
        chodesh_dict = chodesh_dict[hebrew_date[1]]
    length_of_rh = get_rh_lenght(hebrew_date)
    length_str = f'{length_of_rh}'

    if lang == 'Русский':
        rh = '*Рош ходеш* 🌒\n\n' \
             '*Месяц:* {month}\n' \
             '*Продолжительность Рош Ходеша:* {length} {length_r}\n' \
             '*Рош Ходеш:* {rh}\n' \
             '*Молад:* {mol}'.format(
                month=data.jewish_months[get_month_name(chodesh_dict)],
                length=length_str,
                length_r=data.length_r[length_str],
                rh=get_rh_date_and_day(hebrew_date, length_of_rh, lang),
                mol=get_molad(chodesh_dict, lang)
             )
    elif lang == 'English':
        rh = '*Rosh Chodesh* 🌒\n\n*Month:* {month}\n' \
             '*Rosh Chodesh duration:* {length} {length_r}\n' \
             '*Rosh Chodesh:* {rh}\n' \
             '*Molad:* {mol}'.format(
                month=get_month_name(chodesh_dict),
                length=length_str,
                length_r=data.length_e[length_str],
                rh=get_rh_date_and_day(hebrew_date, length_of_rh, lang),
                mol=get_molad(chodesh_dict, lang)
             )
    return rh
예제 #6
0
def get_rh(loc, lang):
    tz = f.get_tz_by_location(loc)
    tz_time = pytz.timezone(tz)
    now = datetime.now(tz_time)
    hebrew_date = dates.GregorianDate(now.year,
                                      now.month, now.day).to_heb().tuple()

    # проверка на рош ашану
    if hebrew_date[1] == 6:
        hebrew_date = (
            hebrew_date[0],
            hebrew_date[1] + 1,
            hebrew_date[2]
        )
    params = {'hebrewYear': hebrew_date[0]}
    chodesh_dict = get_chodesh_dict(hebrew_date, params)
    length_of_rh = get_rh_lenght(hebrew_date)
    length_str = f'{length_of_rh}'

    if lang == 'Русский':
        rh = '*Рош ходеш* 🌒\n\n' \
             '*Месяц:* {month}\n' \
             '*Продолжительность Рош Ходеша:* {length} {length_r}\n' \
             '*Рош Ходеш:* {rh}\n' \
             '*Молад:* {mol}'.format(
                month=data.jewish_months[get_month_name(chodesh_dict)],
                length=length_str,
                length_r=data.length_r[length_str],
                rh=get_rh_date_and_day(hebrew_date, length_of_rh, lang),
                mol=get_molad(chodesh_dict, lang)
             )
    elif lang == 'English':
        rh = '*Rosh Chodesh* 🌒\n\n*Month:* {month}\n' \
             '*Rosh Chodesh duration:* {length} {length_r}\n' \
             '*Rosh Chodesh:* {rh}\n' \
             '*Molad:* {mol}'.format(
                month=get_month_name(chodesh_dict),
                length=length_str,
                length_r=data.length_e[length_str],
                rh=get_rh_date_and_day(hebrew_date, length_of_rh, lang),
                mol=get_molad(chodesh_dict, lang)
             )
    return rh
예제 #7
0
파일: daf.py 프로젝트: Meir770/zmanim_bot-1
def get_daf(loc, lang):
    tz = f.get_tz_by_location(loc)
    tz_time = pytz.timezone(tz)
    now = datetime.now(tz_time)
    daf = requests.get('{}/getCalendarData.php?mode=day&timezone='
                       '{}&dateBegin={}/{}/{}'
                       '&lat={}&lng={}'.format(URL, tz, now.month,
                                               now.day,
                                               now.year,
                                               loc[0],
                                               loc[1]))
    daf_dict = daf.json()
    if lang == 'Русский':
        daf_str = f'Трактат: {data.talmud[daf_dict["dafYomi"]["masechta"]]}' \
                  f'\nЛист: {daf_dict["dafYomi"]["daf"]}'
    elif lang == 'English':
        daf_str = f'Masechta: {daf_dict["dafYomi"]["masechta"]}\n' \
                  f'Daf: {daf_dict["dafYomi"]["daf"]}'
    return daf_str
예제 #8
0
def get_rh(loc, lang):
    tz = f.get_tz_by_location(loc)
    tz_time = pytz.timezone(tz)
    now = datetime.now(tz_time)
    hebrew_date = hebrew.from_gregorian(now.year, now.month, now.day)
    # проверка на рош ашану
    if hebrew_date[1] == 6:
        hebrew_date = (
            hebrew_date[0],
            hebrew_date[1] + 1,
            hebrew_date[2]
        )
    url = f'{URL}/getHolidayCalData.php?hebrewYear={hebrew_date[0]}'
    chodesh_dict = get_chodesh_dict(hebrew_date, url)
    length_of_rh = get_rh_lenght(hebrew_date)
    length_str = f'{length_of_rh}'

    if lang == 'Русский':
        rh = 'Месяц: {month}\n' \
             'Продолжительность Рош Ходеша: {length} {length_r}\n' \
             'Рош Ходеш: {rh}\n' \
             'Молад: {mol}'.format(
                month=data.jewish_months[get_month_name(chodesh_dict)],
                length=length_str,
                length_r=data.length_r[length_str],
                rh=get_rh_date_and_day(hebrew_date, length_of_rh, lang),
                mol=get_molad(chodesh_dict, lang)
             )
    elif lang == 'English':
        rh = 'Month: {month}\n' \
             'Rosh Chodesh duration: {length} {length_r}\n' \
             'Rosh Chodesh: {rh}\n' \
             'Molad: {mol}'.format(
                month=get_month_name(chodesh_dict),
                length=length_str,
                length_r=data.length_e[length_str],
                rh=get_rh_date_and_day(hebrew_date, length_of_rh, lang),
                mol=get_molad(chodesh_dict, lang)
             )
    return rh
예제 #9
0
파일: daf.py 프로젝트: Feviad/zmanim_test
def get_daf(loc, lang):
    tz = f.get_tz_by_location(loc)
    tz_time = pytz.timezone(tz)
    now = datetime.now(tz_time)
    params = {
        'mode': 'day',
        'timezone': tz,
        'dateBegin': f'{now.month}/{now.day}/{now.year}',
        'lat': loc[0],
        'lng': loc[1]
    }
    daf = requests.get(URL, params=params)
    daf_dict = daf.json()
    if lang == 'Русский':
        daf_str = f'*Даф Йоми*\n\n📗 *Трактат:*' \
                  f' {data.talmud[daf_dict["dafYomi"]["masechta"]]}' \
                  f'\n📄 *Лист:* {daf_dict["dafYomi"]["daf"]}'
    elif lang == 'English':
        daf_str = f'*Daf Yomi*\n\n📗 *Masechta:* ' \
                  f'{daf_dict["dafYomi"]["masechta"]}\n' \
                  f'📄 *Daf:* {daf_dict["dafYomi"]["daf"]}'
    return daf_str
예제 #10
0
def get_holidays_dict(index, loc):
    tz = f.get_tz_by_location(loc)
    tz_time = pytz.timezone(tz)
    now = datetime.now(tz_time)
    year = now.year
    month = now.month
    day = now.day
    if tz == 'Asia/Jerusalem' or tz == 'Asia/Tel_Aviv' or tz == 'Asia/Hebron':
        israel = 'israelHolidays=true'
        url = f'{URL}/getHolidayCalData.php?year={year}&{israel}'
    else:
        url = f'{URL}/getHolidayCalData.php?year={year}'

    holidays = requests.get(url)
    holidays_dicts = holidays.json()
    holidays_dict = holidays_dicts[index]
    if month == 1 and holidays_dict['name'] == 'AsarahBTevet'\
            or holidays_dict['name'] == 'Chanukah':
        url = f'{URL}/getHolidayCalData.php?year={year - 1}'
        holidays = requests.get(url)
        holidays_dicts = holidays.json()
        holidays_dict = holidays_dicts[index]
        h_numbers = re.findall(r'\d+', holidays_dict['dateYear1'])
        brackets = re.findall(r'[(){}[\]]+', holidays_dict['dateYear1'])
        if brackets and int(h_numbers[1]) > int(day)\
                and holidays_dict['name'] == 'Chanukah'\
                or brackets and holidays_dict['name'] == 'AsarahBTevet'\
                and int(h_numbers[0]) > int(day):
            url = f'{URL}/getHolidayCalData.php?year={year - 1}'
            holidays = requests.get(url)
            holidays_dicts = holidays.json()
            holidays_dict = holidays_dicts[index]
        else:
            url = f'{URL}/getHolidayCalData.php?year={year}'
            holidays = requests.get(url)
            holidays_dicts = holidays.json()
            holidays_dict = holidays_dicts[index]
    return holidays_dict
예제 #11
0
def get_shabbos_string(loc, lang):
    tz = f.get_tz_by_location(loc)
    tz_time = pytz.timezone(tz)
    now = datetime.now(tz_time)
    date_str = f'{now.year}-{now.month}-{now.day}'
    shabbat_date = get_next_weekday(date_str, 5)
    month = shabbat_date[5:7:]
    day = shabbat_date[8::]
    year = shabbat_date[:4:]
    params = {'mode': 'day',
              'timezone': tz,
              'dateBegin': f'{month}/{day}/{year}',
              'lat': loc[0],
              'lng': loc[1]
              }
    shabbat = requests.get(URL, params=params)
    shabbat_dict = shabbat.json()
    shabbat_str = ''

    if shabbat_dict['parsha_shabbos'] == 'YOM_KIPPUR':
        if lang == 'Русский':
            shabbat_str = '*Шаббат*\n\n📜' \
                          '🕯 *Зажигание свечей:* {}\n' \
                          '*Внимание!* Этот шаббат совпадает с днём '\
                          'Йом Киппура!' \
                .format(shabbat_dict['candle_lighting_shabbos'][:-3:])
        elif lang == 'English':
            shabbat_str = '*Shabbos*\n\n📜' \
                          '🕯 *Candle lighting:* {}\n' \
                          '*Notice!* This shabbat is Yom Kippur!' \
                .format(shabbat_dict['candle_lighting_shabbos'][:-3:])
        return shabbat_str

    if shabbat_dict['parsha_shabbos'] == 'SUCCOS_III':

        if shabbat_dict['zmanim']['sunset'] == 'X:XX:XX':
            if lang == 'Русский':
                shabbat_str = '*Шаббат*\n\n' \
                              'В данных широтах невозможно определить' \
                              ' зманим из-за полярного дня/полярной ночи'
            elif lang == 'English':
                shabbat_str = '*Shabbos*\n\n' \
                              'In these latitudes zmanim is impossible' \
                              ' to determine because of polar night/day'
            return shabbat_str

        if shabbat_dict['zmanim']['tzeis_850_degrees'] == 'X:XX:XX':
            # высчитываем полночь, прибавляя 12 часов
            chazot_time = datetime.strptime(shabbat_dict['zmanim']['chatzos'],
                                            "%H:%M:%S")
            chazot_delta = timedelta(hours=12)
            chazot_laila = str(datetime.time(chazot_time + chazot_delta))
            shabbat_dict['zmanim']['tzeis_850_degrees'] = chazot_laila
        if shabbat_dict['zmanim']['alos_ma'] == 'X:XX:XX':
            if lang == 'Русский':
                shabbat_str = '*Шаббат*\n\n' \
                              '🕯 *Зажигание свечей:* {}\n' \
                              '✨ *Выход звёзд:* {}\n\n' \
                              '*Внимание!* Необходимо уточнить' \
                              ' время зажигания свечей у раввина общины.' \
                    .format(shabbat_dict['candle_lighting_shabbos'][:-3:],
                            shabbat_dict['zmanim']['tzeis_850_degrees'][:-3])
            elif lang == 'English':
                shabbat_str = '*Shabbos*\n\n' \
                              '🕯 *Candle lighting:* {}\n' \
                              '✨ *Tzeit hakochavim:* {}\n\n' \
                              '*Notice!* You should specify time of candle' \
                              ' lighting with the community rabbi.' \
                    .format(shabbat_dict['candle_lighting_shabbos'][:-3:],
                            shabbat_dict['zmanim']['tzeis_850_degrees'][:-3])
        else:
            if lang == 'Русский':
                shabbat_str = '*Шаббат*\n\n' \
                              '🕯 *Зажигание свечей:* {}\n' \
                              '✨ *Выход звёзд:* {}' \
                    .format(shabbat_dict['candle_lighting_shabbos'][:-3:],
                            shabbat_dict['zmanim']['tzeis_850_degrees'][:-3])
            elif lang == 'English':
                shabbat_str = '*Shabbos*\n\n' \
                              '🕯 *Candle lighting:* {}\n' \
                              '✨ *Tzeit hakochavim:* {}' \
                    .format(shabbat_dict['candle_lighting_shabbos'][:-3:],
                            shabbat_dict['zmanim']['tzeis_850_degrees'][:-3])

        if tz in ['Asia/Jerusalem', 'Asia/Tel_Aviv', 'Asia/Hebron']:
            sunset = datetime.strptime(shabbat_dict['zmanim']['sunset'],
                                       "%H:%M:%S")
            delta_18 = timedelta(minutes=18)
            delta_30 = timedelta(minutes=30)
            delta_40 = timedelta(minutes=40)
            candle_18 = str(datetime.time(sunset - delta_18))
            candle_30 = str(datetime.time(sunset - delta_30))
            candle_40 = str(datetime.time(sunset - delta_40))
            if lang == 'Русский':
                shabbat_str = '*Шаббат*\n\n' \
                              '🕯 *Зажигание свечей:*\n' \
                              '*18* минут до шкии: {:.5s}\n' \
                              '*30* минут до шкии: {:.5s}\n' \
                              '*40* минут до шкии: {:.5s}\n\n' \
                              '✨ *Выход звёзд:* {}'.format(
                    candle_18, candle_30, candle_40,
                    shabbat_dict['zmanim']['tzeis_850_degrees'][:-3])
            elif lang == 'English':
                shabbat_str = '*Shabbos*\n\n' \
                              '🕯 *Зажигание свечей:*\n' \
                              '*18* minutes before sunset: {:.5s}\n' \
                              '*30* minutes before sunset: {:.5s}\n' \
                              '*40* minutes before sunset: {:.5s}\n\n' \
                              '✨ *Tzeit hakochavim:* {}'.format(
                    candle_18, candle_30, candle_40,
                    shabbat_dict['zmanim']['tzeis_850_degrees'][:-3])
        return shabbat_str


    if shabbat_dict['zmanim']['sunset'] == 'X:XX:XX':
        if lang == 'Русский':
            shabbat_str = '*Шаббат*\n\n📜 *Недельная глава:* {}\n\n' \
                          'В данных широтах невозможно определить' \
                          ' зманим из-за полярного дня/полярной ночи'\
                .format(data.parashat[shabbat_dict['parsha_shabbos']])
        elif lang == 'English':
            shabbat_str = '*Shabbos*\n\n📜 *Parshat hashavua:* {}\n\n' \
                          'In these latitudes zmanim is impossible' \
                          ' to determine because of polar night/day'\
                .format(shabbat_dict['parsha_shabbos'])
        return shabbat_str

    if shabbat_dict['zmanim']['tzeis_850_degrees'] == 'X:XX:XX':
        # высчитываем полночь, прибавляя 12 часов
        chazot_time = datetime.strptime(shabbat_dict['zmanim']['chatzos'],
                                        "%H:%M:%S")
        chazot_delta = timedelta(hours=12)
        chazot_laila = str(datetime.time(chazot_time + chazot_delta))
        shabbat_dict['zmanim']['tzeis_850_degrees'] = chazot_laila
    if shabbat_dict['zmanim']['alos_ma'] == 'X:XX:XX':
        if lang == 'Русский':
            shabbat_str = '*Шаббат*\n\n📜 *Недельная глава:* {}\n' \
                          '🕯 *Зажигание свечей:* {}\n' \
                          '✨ *Выход звёзд:* {}\n\n' \
                          '*Внимание!* Необходимо уточнить' \
                          ' время зажигания свечей у раввина общины.'\
                .format(data.parashat[shabbat_dict['parsha_shabbos']],
                        shabbat_dict['candle_lighting_shabbos'][:-3:],
                        shabbat_dict['zmanim']['tzeis_850_degrees'][:-3])
        elif lang == 'English':
            shabbat_str = '*Shabbos*\n\n📜 *Parshat hashavua:* {}\n' \
                          '🕯 *Candle lighting:* {}\n' \
                          '✨ *Tzeit hakochavim:* {}\n\n' \
                          '*Notice!* You should specify time of candle' \
                          ' lighting with the community rabbi.'\
                .format(shabbat_dict['parsha_shabbos'],
                        shabbat_dict['candle_lighting_shabbos'][:-3:],
                        shabbat_dict['zmanim']['tzeis_850_degrees'][:-3])
    else:
        if lang == 'Русский':
            shabbat_str = '*Шаббат*\n\n📜 *Недельная глава:* {}\n' \
                          '🕯 *Зажигание свечей:* {}\n' \
                          '✨ *Выход звёзд:* {}'\
                .format(data.parashat[shabbat_dict['parsha_shabbos']],
                        shabbat_dict['candle_lighting_shabbos'][:-3:],
                        shabbat_dict['zmanim']['tzeis_850_degrees'][:-3])
        elif lang == 'English':
            shabbat_str = '*Shabbos*\n\n📜 *Parshat hashavua:* {}\n' \
                          '🕯 *Candle lighting:* {}\n' \
                          '✨ *Tzeit hakochavim:* {}'\
                .format(shabbat_dict['parsha_shabbos'],
                        shabbat_dict['candle_lighting_shabbos'][:-3:],
                        shabbat_dict['zmanim']['tzeis_850_degrees'][:-3])
    if tz in ['Asia/Jerusalem', 'Asia/Tel_Aviv', 'Asia/Hebron']:
        sunset = datetime.strptime(shabbat_dict['zmanim']['sunset'],
                                   "%H:%M:%S")
        delta_18 = timedelta(minutes=18)
        delta_30 = timedelta(minutes=30)
        delta_40 = timedelta(minutes=40)
        candle_18 = str(datetime.time(sunset - delta_18))
        candle_30 = str(datetime.time(sunset - delta_30))
        candle_40 = str(datetime.time(sunset - delta_40))
        if lang == 'Русский':
            shabbat_str = '*Шаббат*\n\n📜 *Недельная глава:* {}\n' \
                          '🕯 *Зажигание свечей:*\n' \
                          '*18* минут до шкии: {:.5s}\n' \
                          '*30* минут до шкии: {:.5s}\n' \
                          '*40* минут до шкии: {:.5s}\n\n' \
                          '✨ *Выход звёзд:* {}'.format(
                           data.parashat[shabbat_dict['parsha_shabbos']],
                           candle_18, candle_30, candle_40,
                           shabbat_dict['zmanim']['tzeis_850_degrees'][:-3])
        elif lang == 'English':
            shabbat_str = '*Shabbos*\n\n📜 *Parshat hashavua:* {}\n' \
                          '🕯 *Зажигание свечей:*\n' \
                          '*18* minutes before sunset: {:.5s}\n' \
                          '*30* minutes before sunset: {:.5s}\n' \
                          '*40* minutes before sunset: {:.5s}\n\n' \
                          '✨ *Tzeit hakochavim:* {}'.format(
                           shabbat_dict['parsha_shabbos'],
                           candle_18, candle_30, candle_40,
                           shabbat_dict['zmanim']['tzeis_850_degrees'][:-3])
    return shabbat_str
예제 #12
0
def fast(get_dict, loc, lang):
    tz = f.get_tz_by_location(loc)
    tz_time = pytz.timezone(tz)
    now = datetime.now(tz_time)
    year = now.year
    month = now.month
    day = now.day
    h_numbers = re.findall(r'\d+', get_dict['dateYear1'])
    d_m = re.findall(r'[a-zA-z]+', get_dict['dateYear1'])
    h_numbers_2 = re.findall(r'\d+', get_dict['dateYear2'])
    d_m_2 = re.findall(r'[a-zA-z]+', get_dict['dateYear2'])
    brackets = re.findall(r'[(){}[\]]+', get_dict['dateYear1'])

    month_time = data.holidays_month_index[d_m[1]]
    if brackets:
        month_time = 13
    if int(month_time) < int(month) or int(month_time) == int(month)\
            and int(h_numbers[0]) < int(day):
        month_time = data.holidays_month_index[d_m_2[1]]
        day_time = h_numbers_2[0]
    else:
        day_time = h_numbers[0]
        month_time = data.holidays_month_index[d_m[1]]
    holiday_time = requests.get(
        f'{URL}/getCalendarData.php?mode=day&timezone='
        f'{tz}&dateBegin={month_time}/{day_time}/{year}'
        f'&lat={loc[0]}&lng={loc[1]}&havdala_offset=72')

    holi_time_dict = holiday_time.json()
    earlier_time = datetime.strptime(holi_time_dict['zmanim']['sunset'],
                                     "%H:%M:%S")
    earlier_delta = timedelta(minutes=31)
    earlier_delta2 = timedelta(minutes=28)
    earlier_delta3 = timedelta(minutes=25)
    sefer_ben_ashmashot = str(datetime.time(earlier_time + earlier_delta))
    nevareshet = str(datetime.time(earlier_time + earlier_delta2))
    shmirat_shabat = str(datetime.time(earlier_time + earlier_delta3))
    fast_time = ''
    if get_dict['name'] == 'TishaBAv':
        delta = timedelta(days=1)
        date1 = datetime.strptime(f'{month_time}/{day_time}/{year}',
                                  '%m/%d/%Y')
        d1 = date1 - delta
        spec_date = re.findall(r'\d+', str(d1))
        holiday_time_av = requests.get(
            f'{URL}/getCalendarData.php?mode=day&timezone='
            f'{tz}&dateBegin={spec_date[1]}/{spec_date[2]}/{spec_date[0]}'
            f'&lat={loc[0]}&lng={loc[1]}&havdala_offset=72')
        holi_time_dict_av = holiday_time_av.json()
        if lang == 'Русский':
            fast_time = 'Начало поста: {}' \
                        ' {}' \
                        ' {:.5s}\n' \
                        'Конец поста: {}' \
                        ' {}\n' \
                        'Самый ранний выход звезд:' \
                        ' {:.5s}\n' \
                        'Сефер бен Ашмашот: {:.5s}\n' \
                        'Неварешет: {:.5s}\n' \
                        'Шмират шаббат килхата: {:.5s}'\
                .format(spec_date[2],
                        data.gr_months_index[str(spec_date[1])],
                        holi_time_dict_av["zmanim"]["sunset"],
                        day_time, data.gr_months_index[month_time],
                        holi_time_dict["zmanim"]["tzeis_595_degrees"],
                        sefer_ben_ashmashot, nevareshet, shmirat_shabat)
        elif lang == 'English':
            fast_time = 'Fast begins: {}' \
                        ' {}' \
                        ' {:.5s}\n' \
                        'The fast ends: {}' \
                        ' {}\n' \
                        'Earlier time of tzeit akohavim:' \
                        ' {:.5s}\n' \
                        'Sefer ben Ashmashot: {:.5s}\n' \
                        'Nevareshet: {:.5s}\n' \
                        'Shmirat shabbat kelhata: {:.5s}'\
                .format(spec_date[2],
                        data.gr_months_index_en[str(spec_date[1])],
                        holi_time_dict_av["zmanim"]["sunset"],
                        day_time, data.gr_months_index_en[month_time],
                        holi_time_dict["zmanim"]["tzeis_595_degrees"],
                        sefer_ben_ashmashot, nevareshet, shmirat_shabat)
    elif get_dict['name'] == 'ShivaAsarBTammuz':
        chazot_time = datetime.strptime(holi_time_dict['zmanim']['chatzos'],
                                        "%H:%M:%S")
        d_delta = timedelta(hours=12)
        dtime = chazot_time - d_delta

        chazot_fast = str(datetime.time(dtime))
        if lang == 'Русский':
            fast_time = 'Начало поста: {}' \
                        ' {}' \
                        ' {:.5s}\n' \
                        'Конец поста: {}' \
                        ' {}\n' \
                        'Самый ранний выход звезд:' \
                        ' {:.5s}\n' \
                        'Сефер бен Ашмашот: {:.5s}\n' \
                        'Неварешет: {:.5s}\n' \
                        'Шмират шаббат килхата: {:.5s}'\
                .format(day_time,
                        data.gr_months_index[month_time],
                        chazot_fast,
                        day_time, data.gr_months_index[month_time],
                        holi_time_dict["zmanim"]["tzeis_595_degrees"],
                        sefer_ben_ashmashot, nevareshet, shmirat_shabat)
        elif lang == 'English':
            fast_time = 'The fast begins: {}' \
                        ' {}' \
                        ' {:.5s}\n' \
                        'Fast ends: {}' \
                        ' {}\n' \
                        'Earlier time of tzeit akohavim:' \
                        ' {:.5s}\n' \
                        'Sefer ben Ashmashot: {:.5s}\n' \
                        'Nevareshet: {:.5s}\n' \
                        'Shmirat shabbat kelhata: {:.5s}'\
                .format(day_time,
                        data.gr_months_index_en[month_time],
                        chazot_fast,
                        day_time, data.gr_months_index_en[month_time],
                        holi_time_dict["zmanim"]["tzeis_595_degrees"],
                        sefer_ben_ashmashot, nevareshet, shmirat_shabat)
    else:
        if lang == 'Русский':
            fast_time = 'Начало поста: {}' \
                        ' {}' \
                        ' {:.5s}\n' \
                        'Конец поста: {}' \
                        ' {}\n' \
                        'Самый ранний выход звезд:' \
                        ' {:.5s}\n' \
                        'Сефер бен Ашмашот: {:.5s}\n' \
                        'Неварешет: {:.5s}\n' \
                        'Шмират шаббат килхата: {:.5s}'\
                .format(day_time,
                        data.gr_months_index[month_time],
                        holi_time_dict["zmanim"]["alos_ma"],
                        day_time, data.gr_months_index[month_time],
                        holi_time_dict["zmanim"]["tzeis_595_degrees"],
                        sefer_ben_ashmashot, nevareshet, shmirat_shabat)
        elif lang == 'English':
            fast_time = 'The fast begins: {}' \
                        ' {}' \
                        ' {:.5s}\n' \
                        'Fast ends: {}' \
                        ' {}\n' \
                        'Earlier time of tzeit akohavim:' \
                        ' {:.5s}\n' \
                        'Sefer ben Ashmashot: {:.5s}\n' \
                        'Nevareshet: {:.5s}\n' \
                        'Shmirat shabbat kelhata: {:.5s}'\
                .format(day_time,
                        data.gr_months_index_en[month_time],
                        holi_time_dict["zmanim"]["alos_ma"],
                        day_time, data.gr_months_index_en[month_time],
                        holi_time_dict["zmanim"]["tzeis_595_degrees"],
                        sefer_ben_ashmashot, nevareshet, shmirat_shabat)

    return fast_time
예제 #13
0
def get_ext_zmanim(loc, lang):
    tz = f.get_tz_by_location(loc)
    tz_time = pytz.timezone(tz)
    now = datetime.now(tz_time)
    zmanim = requests.get('{}/getCalendarData.php?mode=day&timezone='
                          '{}&dateBegin={}/{}/{}'
                          '&lat={}&lng={}'.format(URL, tz, now.month,
                                                  now.day,
                                                  now.year,
                                                  loc[0],
                                                  loc[1]))
    zmanim_dict = zmanim.json()
    month = re.search(r'[a-zA-z]+', zmanim_dict['hebDateString']).group(0)
    year_day = re.findall(r'\d+', zmanim_dict['hebDateString'])
    if zmanim_dict['zmanim']['sof_zman_shema_ma'] == 'X:XX:XX'\
            or zmanim_dict['zmanim']['sof_zman_tefila_ma'] == 'X:XX:XX':
            zmanim_dict['zmanim']['sof_zman_shema_ma'] = '00:00:00'
            zmanim_dict['zmanim']['sof_zman_tefila_ma'] = '00:00:00'

    # блок вычисления времени путем вычитания
    d1 = datetime.strptime(zmanim_dict['zmanim']['sof_zman_shema_ma'],
                           "%H:%M:%S")
    d2 = datetime.strptime(zmanim_dict['zmanim']['sof_zman_tefila_ma'],
                           "%H:%M:%S")
    d3 = datetime.strptime(zmanim_dict['zmanim']['sof_zman_shema_gra'],
                           "%H:%M:%S")
    d4 = datetime.strptime(zmanim_dict['zmanim']['sof_zman_tefila_gra'],
                           "%H:%M:%S")
    d5 = datetime.strptime(zmanim_dict['zmanim']['chatzos'],
                           "%H:%M:%S")
    # высчитываем полночь, прибавляя 12 часов
    d_delta = timedelta(hours=12)
    d6 = d5 + d_delta

    chazot_laila = str(datetime.time(d6))
    shaa_zman_ma = str(d2 - d1)  # астрономический час по маген авраам
    shaa_zman_gra = str(d4 - d3)  # астрономический час по арго
    if zmanim_dict['zmanim']['alos_ma'] == 'X:XX:XX':
        chazot_time = datetime.strptime(zmanim_dict['zmanim']['chatzos'],
                                        "%H:%M:%S")

        chazot_delta = timedelta(hours=12)
        alot_delta = chazot_time - chazot_delta
        alot_chazot_time = str(datetime.time(alot_delta))
        zmanim_dict['zmanim']['alos_ma'] = alot_chazot_time
    if lang == 'Русский':
        zmanim_str = 'Еврейская дата: {} {} {}\n\n' \
                     'Рассвет (Алот Ашахар) - {:.5s}\n' \
                     'Самое ранее время надевания\n' \
                     'талита и тфлина (Мишеякир) - {:.5s}\n' \
                     'Восход солнца (Нец Ахама) - {:.5s}\n' \
                     'Конец времени чтения Шма (Маген Авраам) - {:.5s}\n' \
                     'Конец времени чтения Шма (АГРО) - {:.5s}\n' \
                     'Конец времени чтения молитвы Амида\n' \
                     '(Маген Авраам) - {:.5s}\n' \
                     'Конец времени чтения молитвы Амида\n(АГРО) - {:.5s}\n' \
                     'Полдень (Хацот) - {:.5s}\n' \
                     'Самое раннее время Минхи (Минха Гдола) - {:.5s}\n' \
                     'Малая Минха (Минха Ктана) - {:.5s}\n' \
                     'Полу-Минха (Плаг Минха) - {:.5s}\n' \
                     'Заход солнца (Шкия) - {:.5s}\n' \
                     'Выход звезд, 42 минуты (Цет Акохавим)  - {:.5s}\n' \
                     'Выход звезд, 72 минуты (Цет Акохавим) - {:.5s}\n' \
                     'Выход звезд, 595 градусов (Цет Акохавим) - {:.5s}\n' \
                     'Выход звезд, 850 градусов (Цет Акохавим) - {:.5s}\n' \
                     'Полночь (Хацот Алайла) - 0{:.4s}\n\n' \
                     'Астрономический час (Маген Авраам) - {:.4s}\n' \
                     'Астрономический час (АГРО) - {:.4s}' \
            .format(year_day[0],
                    month,
                    year_day[1],
                    zmanim_dict['zmanim']['alos_ma'],
                    zmanim_dict['zmanim']['talis_ma'],
                    zmanim_dict['zmanim']['sunrise'],
                    zmanim_dict['zmanim']['sof_zman_shema_ma'],
                    zmanim_dict['zmanim']['sof_zman_shema_gra'],
                    zmanim_dict['zmanim']['sof_zman_tefila_ma'],
                    zmanim_dict['zmanim']['sof_zman_tefila_gra'],
                    zmanim_dict['zmanim']['chatzos'],
                    zmanim_dict['zmanim']['mincha_gedola_ma'],
                    zmanim_dict['zmanim']['mincha_ketana_gra'],
                    zmanim_dict['zmanim']['plag_mincha_ma'],
                    zmanim_dict['zmanim']['sunset'],
                    zmanim_dict['zmanim']['tzeis_42_minutes'],
                    zmanim_dict['zmanim']['tzeis_595_degrees'],
                    zmanim_dict['zmanim']['tzeis_850_degrees'],
                    zmanim_dict['zmanim']['tzeis_72_minutes'],
                    chazot_laila, shaa_zman_ma, shaa_zman_gra)
    elif lang == 'English':
        zmanim_str = 'Hebrew date: {} {} {}\n\n' \
                     'Alot Hashachar - {:.5s}\n' \
                     'Misheyakir - {:.5s}\n' \
                     'Hanetz Hachama) - {:.5s}\n' \
                     'Sof Zman Shema (M"A) - {:.5s}\n' \
                     'Sof Zman Shema (GR"A) - {:.5s}\n' \
                     'Sof Zman Tefilah (M"A) - {:.5s}\n' \
                     'Sof Zman Tefilah (GR"A) - {:.5s}\n' \
                     'Chatzot Hayom - {:.5s}\n' \
                     'Mincha Gedolah - {:.5s}\n' \
                     'Mincha Ketanah - {:.5s}\n' \
                     'Plag Mincha - {:.5s}\n' \
                     'Shkiat Hachama - {:.5s}\n' \
                     'Tzeit Hakochavim 42 minutes  - {:.5s}\n' \
                     'Tzeit Hakochavim 72 minutes  - {:.5s}\n' \
                     'Tzeit Hakochavim 595 degrees - {:.5s}\n' \
                     'Tzeit Hakochavim 850 degrees - {:.5s}\n' \
                     'Chatzot Halayiah - 0{:.4s}\n\n' \
                     'Astronomical Hour (M"A) - {:.4s}\n' \
                     'Astronomical Hour (GR"A) - {:.4s}' \
            .format(year_day[0],
                    data.jewish_months[month],
                    year_day[1],
                    zmanim_dict['zmanim']['alos_ma'],
                    zmanim_dict['zmanim']['talis_ma'],
                    zmanim_dict['zmanim']['sunrise'],
                    zmanim_dict['zmanim']['sof_zman_shema_ma'],
                    zmanim_dict['zmanim']['sof_zman_shema_gra'],
                    zmanim_dict['zmanim']['sof_zman_tefila_ma'],
                    zmanim_dict['zmanim']['sof_zman_tefila_gra'],
                    zmanim_dict['zmanim']['chatzos'],
                    zmanim_dict['zmanim']['mincha_gedola_ma'],
                    zmanim_dict['zmanim']['mincha_ketana_gra'],
                    zmanim_dict['zmanim']['plag_mincha_ma'],
                    zmanim_dict['zmanim']['sunset'],
                    zmanim_dict['zmanim']['tzeis_42_minutes'],
                    zmanim_dict['zmanim']['tzeis_595_degrees'],
                    zmanim_dict['zmanim']['tzeis_850_degrees'],
                    zmanim_dict['zmanim']['tzeis_72_minutes'],
                    chazot_laila, shaa_zman_ma, shaa_zman_gra)

    return zmanim_str
예제 #14
0
def get_zmanim(loc, lang):
    tz = f.get_tz_by_location(loc)
    tz_time = pytz.timezone(tz)
    now = datetime.now(tz_time)
    zmanim = requests.get('{}/getCalendarData.php?mode=day&timezone='
                          '{}&dateBegin={}/{}/{}'
                          '&lat={}&lng={}'.format(URL, tz, now.month,
                                                  now.day,
                                                  now.year,
                                                  loc[0],
                                                  loc[1]))
    zmanim_dict = zmanim.json()
    month = re.search(r'[a-zA-z]+', zmanim_dict['hebDateString']) \
        .group(0)
    year_day = re.findall(r'\d+', zmanim_dict['hebDateString'])
    if zmanim_dict['zmanim']['alos_ma'] == 'X:XX:XX':
        chazot_time = datetime.strptime(zmanim_dict['zmanim']['chatzos'],
                                        "%H:%M:%S")
        chazot_delta = timedelta(hours=12)
        alot_delta = chazot_time - chazot_delta
        alot_chazot_time = str(datetime.time(alot_delta))
        zmanim_dict['zmanim']['alos_ma'] = alot_chazot_time
    if lang == 'Русский':
        zmanim_str = 'Еврейская дата: {} {} {} года\n' \
                     'Рассвет (Алот Ашахар) - {:.5s}\n' \
                     'Самое ранее время надевания\n' \
                     'талита и тфлина (Мишеякир) - {:.5s}\n' \
                     'Восход солнца (Нец Ахама) - {:.5s}\n' \
                     'Конец времени чтения Шма - {:.5s}\n' \
                     'Конец времени чтения молитвы \nАмида - {:.5s}\n' \
                     'Полдень (Хацот) - {:.5s}\n' \
                     'Самое раннее время Минхи\n(Минха Гдола) - {:.5s}\n' \
                     'Заход солнца (Шкия) - {:.5s}\n' \
                     'Выход звезд (Цет Акохавим) - {:.5s}\n' \
            .format(year_day[0],
                    data.jewish_months_a[month],
                    year_day[1],
                    zmanim_dict['zmanim']['alos_ma'],
                    zmanim_dict['zmanim']['talis_ma'],
                    zmanim_dict['zmanim']['sunrise'],
                    zmanim_dict['zmanim']['sof_zman_shema_gra'],
                    zmanim_dict['zmanim']['sof_zman_tefila_gra'],
                    zmanim_dict['zmanim']['chatzos'],
                    zmanim_dict['zmanim']['mincha_gedola_ma'],
                    zmanim_dict['zmanim']['sunset'],
                    zmanim_dict['zmanim']['tzeis_595_degrees']
                    )
    elif lang == 'English':
        zmanim_str = 'Hebrew date: {} {} {}\n' \
                     'Alot Hashachar - {:.5s}\n' \
                     'Misheyakir - {:.5s}\n' \
                     'Hanetz Hachama - {:.5s}\n' \
                     'Sof Zman Shema - {:.5s}\n' \
                     'Sof Zman Tefilah - {:.5s}\n' \
                     'Chatzot Hayom - {:.5s}\n' \
                     'Mincha Gedolah - {:.5s}\n' \
                     'Shkiat Hachama - {:.5s}\n' \
                     'Tzeit Hakochavim - {:.5s}\n' \
            .format(year_day[0],
                    month,
                    year_day[1],
                    zmanim_dict['zmanim']['alos_ma'],
                    zmanim_dict['zmanim']['talis_ma'],
                    zmanim_dict['zmanim']['sunrise'],
                    zmanim_dict['zmanim']['sof_zman_shema_gra'],
                    zmanim_dict['zmanim']['sof_zman_tefila_gra'],
                    zmanim_dict['zmanim']['chatzos'],
                    zmanim_dict['zmanim']['mincha_gedola_ma'],
                    zmanim_dict['zmanim']['sunset'],
                    zmanim_dict['zmanim']['tzeis_595_degrees']
                    )
    return zmanim_str
예제 #15
0
def get_ext_zmanim(loc, lang):
    tz = f.get_tz_by_location(loc)
    tz_time = pytz.timezone(tz)
    now = datetime.now(tz_time)
    params = {
        'mode': 'day',
        'timezone': tz,
        'dateBegin': f'{now.month}/{now.day}/{now.year}',
        'lat': loc[0],
        'lng': loc[1]
    }
    zmanim = requests.get(URL, params=params)
    zmanim_dict = zmanim.json()
    month = re.search(r'[a-zA-z]+', zmanim_dict['hebDateString']).group(0)
    year_day = re.findall(r'\d+', zmanim_dict['hebDateString'])
    zmanim_str = ''
    if zmanim_dict['zmanim']['sunset'] == 'X:XX:XX':
        if lang == 'Русский':
            zmanim_str = 'В данных широтах невозможно определить' \
                         ' зманим из-за полярного дня/полярной ночи'
        elif lang == 'English':
            zmanim_str = 'In these latitudes it is impossible to determine' \
                         ' because of polar night/day'
        return zmanim_str
    elif zmanim_dict['zmanim']['tzeis_595_degrees'] == 'X:XX:XX'\
            and zmanim_dict['zmanim']['tzeis_850_degrees'] == 'X:XX:XX':
        d3 = datetime.strptime(zmanim_dict['zmanim']['sof_zman_shema_gra'],
                               "%H:%M:%S")
        d4 = datetime.strptime(zmanim_dict['zmanim']['sof_zman_tefila_gra'],
                               "%H:%M:%S")
        d5 = datetime.strptime(zmanim_dict['zmanim']['chatzos'], "%H:%M:%S")
        # высчитываем полночь, прибавляя 12 часов
        d_delta = timedelta(hours=12)
        d6 = d5 + d_delta

        chazot_laila = str(datetime.time(d6))
        shaa_zman_gra = str(d4 - d3)  # астрономический час по арго

        chazot_time = datetime.strptime(zmanim_dict['zmanim']['chatzos'],
                                        "%H:%M:%S")
        chazot_delta = timedelta(hours=12)
        alot_delta = chazot_time - chazot_delta
        alot_chazot_time = str(datetime.time(alot_delta))
        if lang == 'Русский':
            zmanim_str = '*Расширенные зманим*\n\n' \
                         '*Еврейская дата:* {} {} {}\n' \
                         '*Рассвет* _(Алот Ашахар)_ *—* {:.5s}\n' \
                         '*Самое раннее время надевания ' \
                         'талита и тфилин* _(Мишеякир)_ *—* {:.5s}\n' \
                         '*Восход солнца* _(Нец Ахама)_ *—* {:.5s}\n' \
                         '*Конец времени чтения Шма [АГРО]* *—* {:.5s}\n' \
                         '*Конец времени чтения' \
                         ' молитвы Амида [АГРО]* *—* {:.5s}\n' \
                         '*Полдень* _(Хацот)_ *—* {:.5s}\n' \
                         '*Самое раннее время Минхи*' \
                         ' _(Минха Гдола)_ *—* {:.5s}\n' \
                         '*Малая Минха* _(Минха Ктана)_ *—* {:.5s}\n' \
                         '*Полу-Минха* _(Плаг Минха)_ *—* {:.5s}\n' \
                         '*Заход солнца* _(Шкия)_ *—* {:.5s}\n' \
                         '*Выход звезд [42 минуты]*' \
                         ' _(Цет Акохавим)_ *—* {:.5s}\n' \
                         '*Выход звезд [595 градусов]*' \
                         ' _(Цет Акохавим)_ *—* {:.5s}\n' \
                         '*Выход звезд [72 минуты]*' \
                         ' _(Цет Акохавим)_ *—* {:.5s}\n' \
                         '*Полночь* _(Хацот Алайла)_ *—* {:.5s}\n\n' \
                         '*Астрономический час [АГРО]* *—* {:.4s}' \
                .format(year_day[0],
                        data.jewish_months_a[month],
                        year_day[1],
                        alot_chazot_time,
                        alot_chazot_time,
                        zmanim_dict['zmanim']['sunrise'],
                        zmanim_dict['zmanim']['sof_zman_shema_gra'],
                        zmanim_dict['zmanim']['sof_zman_tefila_gra'],
                        zmanim_dict['zmanim']['chatzos'],
                        zmanim_dict['zmanim']['mincha_gedola_ma'],
                        zmanim_dict['zmanim']['mincha_ketana_gra'],
                        zmanim_dict['zmanim']['plag_mincha_ma'],
                        zmanim_dict['zmanim']['sunset'],
                        zmanim_dict['zmanim']['tzeis_42_minutes'],
                        chazot_laila,
                        zmanim_dict['zmanim']['tzeis_72_minutes'],
                        chazot_laila, shaa_zman_gra)
        elif lang == 'English':
            zmanim_str = '*Extended Zmanim*\n\n*Hebrew date:* {} {} {}\n' \
                         '*Alot Hashachar* *—* {:.5s}\n' \
                         '*Misheyakir* *—* {:.5s}\n' \
                         '*Hanetz Hachama* *—* {:.5s}\n' \
                         '*Sof Zman Shema [GR"A]* *—* {:.5s}\n' \
                         '*Sof Zman Tefilah [GR"A]* *—* {:.5s}\n' \
                         '*Chatzot Hayom* *—* {:.5s}\n' \
                         '*Mincha Gedolah* *—* {:.5s}\n' \
                         '*Mincha Ketanah* *—* {:.5s}\n' \
                         '*Plag Mincha* *—* {:.5s}\n' \
                         '*Shkiat Hachama* *—* {:.5s}\n' \
                         '*Tzeit Hakochavim [42 minutes]*  *—* {:.5s}\n' \
                         '*Tzeit Hakochavim [595 degrees]* *—* {:.5s}\n' \
                         '*Tzeit Hakochavim [72 minutes]*  *—* {:.5s}\n' \
                         '*Chatzot Halayiah* *—* {:.5s}\n\n' \
                         '*Astronomical Hour [GR"A]* *—* {:.4s}' \
                .format(year_day[0],
                        month,
                        year_day[1],
                        alot_chazot_time,
                        alot_chazot_time,
                        zmanim_dict['zmanim']['sunrise'],
                        zmanim_dict['zmanim']['sof_zman_shema_gra'],
                        zmanim_dict['zmanim']['sof_zman_tefila_gra'],
                        zmanim_dict['zmanim']['chatzos'],
                        zmanim_dict['zmanim']['mincha_gedola_ma'],
                        zmanim_dict['zmanim']['mincha_ketana_gra'],
                        zmanim_dict['zmanim']['plag_mincha_ma'],
                        zmanim_dict['zmanim']['sunset'],
                        zmanim_dict['zmanim']['tzeis_42_minutes'],
                        chazot_laila,
                        zmanim_dict['zmanim']['tzeis_72_minutes'],
                        chazot_laila, shaa_zman_gra)
    elif zmanim_dict['zmanim']['tzeis_850_degrees'] == 'X:XX:XX':
        d3 = datetime.strptime(zmanim_dict['zmanim']['sof_zman_shema_gra'],
                               "%H:%M:%S")
        d4 = datetime.strptime(zmanim_dict['zmanim']['sof_zman_tefila_gra'],
                               "%H:%M:%S")
        d5 = datetime.strptime(zmanim_dict['zmanim']['chatzos'], "%H:%M:%S")
        # высчитываем полночь, прибавляя 12 часов
        d_delta = timedelta(hours=12)
        d6 = d5 + d_delta

        chazot_laila = str(datetime.time(d6))
        shaa_zman_gra = str(d4 - d3)  # астрономический час по арго

        chazot_time = datetime.strptime(zmanim_dict['zmanim']['chatzos'],
                                        "%H:%M:%S")
        chazot_delta = timedelta(hours=12)
        alot_delta = chazot_time - chazot_delta
        alot_chazot_time = str(datetime.time(alot_delta))
        if lang == 'Русский':
            zmanim_str = '*Расширенные зманим*\n\n' \
                         '*Еврейская дата:* {} {} {}\n' \
                         '*Рассвет* _(Алот Ашахар)_ *—* {:.5s}\n' \
                         '*Самое раннее время надевания ' \
                         'талита и тфилин* _(Мишеякир)_ *—* {:.5s}\n' \
                         '*Восход солнца* _(Нец Ахама)_ *—* {:.5s}\n' \
                         '*Конец времени чтения Шма [АГРО]* *—* {:.5s}\n' \
                         '*Конец времени чтения' \
                         ' молитвы Амида [АГРО]* *—* {:.5s}\n' \
                         '*Полдень* _(Хацот)_ *—* {:.5s}\n' \
                         '*Самое раннее время Минхи*' \
                         ' _(Минха Гдола)_ *—* {:.5s}\n' \
                         '*Малая Минха* _(Минха Ктана)_ *—* {:.5s}\n' \
                         '*Полу-Минха* _(Плаг Минха)_ *—* {:.5s}\n' \
                         '*Заход солнца* _(Шкия)_ *—* {:.5s}\n' \
                         '*Выход звезд [42 минуты]*' \
                         ' _(Цет Акохавим)_ *—* {:.5s}\n' \
                         '*Выход звезд [595 градусов]*' \
                         ' _(Цет Акохавим)_ *—* {:.5s}\n' \
                         '*Выход звезд [72 минуты]*' \
                         ' _(Цет Акохавим)_ *—* {:.5s}\n' \
                         '*Полночь* _(Хацот Алайла)_ *—* {:.5s}\n\n' \
                         '*Астрономический час [АГРО]* *—* {:.4s}' \
                .format(year_day[0],
                        data.jewish_months_a[month],
                        year_day[1],
                        alot_chazot_time,
                        alot_chazot_time,
                        zmanim_dict['zmanim']['sunrise'],
                        zmanim_dict['zmanim']['sof_zman_shema_gra'],
                        zmanim_dict['zmanim']['sof_zman_tefila_gra'],
                        zmanim_dict['zmanim']['chatzos'],
                        zmanim_dict['zmanim']['mincha_gedola_ma'],
                        zmanim_dict['zmanim']['mincha_ketana_gra'],
                        zmanim_dict['zmanim']['plag_mincha_ma'],
                        zmanim_dict['zmanim']['sunset'],
                        zmanim_dict['zmanim']['tzeis_42_minutes'],
                        zmanim_dict['zmanim']['tzeis_595_degrees'],
                        zmanim_dict['zmanim']['tzeis_72_minutes'],
                        chazot_laila, shaa_zman_gra)
        elif lang == 'English':
            zmanim_str = '*Extended Zmanim*\n\n*Hebrew date:* {} {} {}\n' \
                         '*Alot Hashachar* *—* {:.5s}\n' \
                         '*Misheyakir* *—* {:.5s}\n' \
                         '*Hanetz Hachama* *—* {:.5s}\n' \
                         '*Sof Zman Shema [GR"A]* *—* {:.5s}\n' \
                         '*Sof Zman Tefilah [GR"A]* *—* {:.5s}\n' \
                         '*Chatzot Hayom* *—* {:.5s}\n' \
                         '*Mincha Gedolah* *—* {:.5s}\n' \
                         '*Mincha Ketanah* *—* {:.5s}\n' \
                         '*Plag Mincha* *—* {:.5s}\n' \
                         '*Shkiat Hachama* *—* {:.5s}\n' \
                         '*Tzeit Hakochavim [42 minutes]*  *—* {:.5s}\n' \
                         '*Tzeit Hakochavim [595 degrees]* *—* {:.5s}\n' \
                         '*Tzeit Hakochavim [72 minutes]*  *—* {:.5s}\n' \
                         '*Tzeit Hakochavim [850 degrees]* *—* {:.5s}\n' \
                         '*Chatzot Halayiah* *—* {:.5s}\n\n' \
                         '*Astronomical Hour [GR"A]* *—* {:.4s}' \
                .format(year_day[0],
                        month,
                        year_day[1],
                        zmanim_dict['zmanim']['alos_ma'],
                        zmanim_dict['zmanim']['talis_ma'],
                        zmanim_dict['zmanim']['sunrise'],
                        zmanim_dict['zmanim']['sof_zman_shema_gra'],
                        zmanim_dict['zmanim']['sof_zman_tefila_gra'],
                        zmanim_dict['zmanim']['chatzos'],
                        zmanim_dict['zmanim']['mincha_gedola_ma'],
                        zmanim_dict['zmanim']['mincha_ketana_gra'],
                        zmanim_dict['zmanim']['plag_mincha_ma'],
                        zmanim_dict['zmanim']['sunset'],
                        zmanim_dict['zmanim']['tzeis_42_minutes'],
                        zmanim_dict['zmanim']['tzeis_595_degrees'],
                        zmanim_dict['zmanim']['tzeis_72_minutes'],
                        zmanim_dict['zmanim']['tzeis_850_degrees'],
                        chazot_laila, shaa_zman_gra)
    elif zmanim_dict['zmanim']['sof_zman_shema_ma'] == 'X:XX:XX'\
            or zmanim_dict['zmanim']['sof_zman_tefila_ma'] == 'X:XX:XX':
        d3 = datetime.strptime(zmanim_dict['zmanim']['sof_zman_shema_gra'],
                               "%H:%M:%S")
        d4 = datetime.strptime(zmanim_dict['zmanim']['sof_zman_tefila_gra'],
                               "%H:%M:%S")
        d5 = datetime.strptime(zmanim_dict['zmanim']['chatzos'], "%H:%M:%S")
        # высчитываем полночь, прибавляя 12 часов
        d_delta = timedelta(hours=12)
        d6 = d5 + d_delta

        chazot_laila = str(datetime.time(d6))
        shaa_zman_gra = str(d4 - d3)  # астрономический час по арго
        if zmanim_dict['zmanim']['alos_ma'] == 'X:XX:XX'\
                and zmanim_dict['zmanim']['talis_ma'] == 'X:XX:XX':
            chazot_time = datetime.strptime(zmanim_dict['zmanim']['chatzos'],
                                            "%H:%M:%S")
            chazot_delta = timedelta(hours=12)
            alot_delta = chazot_time - chazot_delta
            alot_chazot_time = str(datetime.time(alot_delta))
            zmanim_dict['zmanim']['alos_ma'] = alot_chazot_time
            zmanim_dict['zmanim']['talis_ma'] = alot_chazot_time
        elif zmanim_dict['zmanim']['alos_ma'] == 'X:XX:XX':
            chazot_time = datetime.strptime(zmanim_dict['zmanim']['chatzos'],
                                            "%H:%M:%S")
            chazot_delta = timedelta(hours=12)
            alot_delta = chazot_time - chazot_delta
            alot_chazot_time = str(datetime.time(alot_delta))
            zmanim_dict['zmanim']['alos_ma'] = alot_chazot_time
        if lang == 'Русский':
            zmanim_str = '*Расширенные зманим*\n\n' \
                         '*Еврейская дата:* {} {} {}\n' \
                         '*Рассвет* _(Алот Ашахар)_ *—* {:.5s}\n' \
                         '*Самое раннее время надевания ' \
                         'талита и тфилин* _(Мишеякир)_ *—* {:.5s}\n' \
                         '*Восход солнца* _(Нец Ахама)_ *—* {:.5s}\n' \
                         '*Конец времени чтения Шма [АГРО]* *—* {:.5s}\n' \
                         '*Конец времени чтения' \
                         ' молитвы Амида [АГРО]* *—* {:.5s}\n' \
                         '*Полдень* _(Хацот)_ *—* {:.5s}\n' \
                         '*Самое раннее время Минхи*' \
                         ' _(Минха Гдола)_ *—* {:.5s}\n' \
                         '*Малая Минха* _(Минха Ктана)_ *—* {:.5s}\n' \
                         '*Полу-Минха* _(Плаг Минха)_ *—* {:.5s}\n' \
                         '*Заход солнца* _(Шкия)_ *—* {:.5s}\n' \
                         '*Выход звезд [42 минуты]*' \
                         ' _(Цет Акохавим)_ *—* {:.5s}\n' \
                         '*Выход звезд [595 градусов]*' \
                         ' _(Цет Акохавим)_ *—* {:.5s}\n' \
                         '*Выход звезд [72 минуты]*' \
                         ' _(Цет Акохавим)_ *—* {:.5s}\n' \
                         '*Выход звезд [850 градусов]*' \
                         ' _(Цет Акохавим)_ *—* {:.5s}\n' \
                         '*Полночь* _(Хацот Алайла)_ *—* {:.5s}\n\n' \
                         '*Астрономический час [АГРО]* *—* {:.4s}' \
                .format(year_day[0],
                        data.jewish_months_a[month],
                        year_day[1],
                        zmanim_dict['zmanim']['alos_ma'],
                        zmanim_dict['zmanim']['talis_ma'],
                        zmanim_dict['zmanim']['sunrise'],
                        zmanim_dict['zmanim']['sof_zman_shema_gra'],
                        zmanim_dict['zmanim']['sof_zman_tefila_gra'],
                        zmanim_dict['zmanim']['chatzos'],
                        zmanim_dict['zmanim']['mincha_gedola_ma'],
                        zmanim_dict['zmanim']['mincha_ketana_gra'],
                        zmanim_dict['zmanim']['plag_mincha_ma'],
                        zmanim_dict['zmanim']['sunset'],
                        zmanim_dict['zmanim']['tzeis_42_minutes'],
                        zmanim_dict['zmanim']['tzeis_595_degrees'],
                        zmanim_dict['zmanim']['tzeis_72_minutes'],
                        zmanim_dict['zmanim']['tzeis_850_degrees'],
                        chazot_laila, shaa_zman_gra)
        elif lang == 'English':
            zmanim_str = '*Extended Zmanim*\n\n*Hebrew date:* {} {} {}\n' \
                         '*Alot Hashachar* *—* {:.5s}\n' \
                         '*Misheyakir* *—* {:.5s}\n' \
                         '*Hanetz Hachama* *—* {:.5s}\n' \
                         '*Sof Zman Shema [GR"A]* *—* {:.5s}\n' \
                         '*Sof Zman Tefilah [GR"A]* *—* {:.5s}\n' \
                         '*Chatzot Hayom* *—* {:.5s}\n' \
                         '*Mincha Gedolah* *—* {:.5s}\n' \
                         '*Mincha Ketanah* *—* {:.5s}\n' \
                         '*Plag Mincha* *—* {:.5s}\n' \
                         '*Shkiat Hachama* *—* {:.5s}\n' \
                         '*Tzeit Hakochavim [42 minutes]*  *—* {:.5s}\n' \
                         '*Tzeit Hakochavim [595 degrees]* *—* {:.5s}\n' \
                         '*Tzeit Hakochavim [72 minutes]*  *—* {:.5s}\n' \
                         '*Tzeit Hakochavim [850 degrees]* *—* {:.5s}\n' \
                         '*Chatzot Halayiah* *—* {:.5s}\n\n' \
                         '*Astronomical Hour [GR"A]* *—* {:.4s}' \
                .format(year_day[0],
                        month,
                        year_day[1],
                        zmanim_dict['zmanim']['alos_ma'],
                        zmanim_dict['zmanim']['talis_ma'],
                        zmanim_dict['zmanim']['sunrise'],
                        zmanim_dict['zmanim']['sof_zman_shema_gra'],
                        zmanim_dict['zmanim']['sof_zman_tefila_gra'],
                        zmanim_dict['zmanim']['chatzos'],
                        zmanim_dict['zmanim']['mincha_gedola_ma'],
                        zmanim_dict['zmanim']['mincha_ketana_gra'],
                        zmanim_dict['zmanim']['plag_mincha_ma'],
                        zmanim_dict['zmanim']['sunset'],
                        zmanim_dict['zmanim']['tzeis_42_minutes'],
                        zmanim_dict['zmanim']['tzeis_595_degrees'],
                        zmanim_dict['zmanim']['tzeis_72_minutes'],
                        zmanim_dict['zmanim']['tzeis_850_degrees'],
                        chazot_laila, shaa_zman_gra)

    else:
        # блок вычисления времени
        d1 = datetime.strptime(zmanim_dict['zmanim']['sof_zman_shema_ma'],
                               "%H:%M:%S")
        d2 = datetime.strptime(zmanim_dict['zmanim']['sof_zman_tefila_ma'],
                               "%H:%M:%S")
        d3 = datetime.strptime(zmanim_dict['zmanim']['sof_zman_shema_gra'],
                               "%H:%M:%S")
        d4 = datetime.strptime(zmanim_dict['zmanim']['sof_zman_tefila_gra'],
                               "%H:%M:%S")
        d5 = datetime.strptime(zmanim_dict['zmanim']['chatzos'], "%H:%M:%S")
        # высчитываем полночь, прибавляя 12 часов
        d_delta = timedelta(hours=12)
        d6 = d5 + d_delta

        chazot_laila = str(datetime.time(d6))
        shaa_zman_ma = str(d2 - d1)  # астрономический час по маген авраам
        shaa_zman_gra = str(d4 - d3)  # астрономический час по арго
        if zmanim_dict['zmanim']['alos_ma'] == 'X:XX:XX'\
                and zmanim_dict['zmanim']['talis_ma'] == 'X:XX:XX':
            chazot_time = datetime.strptime(zmanim_dict['zmanim']['chatzos'],
                                            "%H:%M:%S")
            chazot_delta = timedelta(hours=12)
            alot_delta = chazot_time - chazot_delta
            alot_chazot_time = str(datetime.time(alot_delta))
            zmanim_dict['zmanim']['alos_ma'] = alot_chazot_time
            zmanim_dict['zmanim']['talis_ma'] = alot_chazot_time
        elif zmanim_dict['zmanim']['alos_ma'] == 'X:XX:XX':
            chazot_time = datetime.strptime(zmanim_dict['zmanim']['chatzos'],
                                            "%H:%M:%S")

            chazot_delta = timedelta(hours=12)
            alot_delta = chazot_time - chazot_delta
            alot_chazot_time = str(datetime.time(alot_delta))
            zmanim_dict['zmanim']['alos_ma'] = alot_chazot_time
        if lang == 'Русский':
            zmanim_str = '*Расширенные зманим*\n\n' \
                         '*Еврейская дата:* {} {} {}\n' \
                         '*Рассвет* _(Алот Ашахар)_ *—* {:.5s}\n' \
                         '*Самое раннее время надевания ' \
                         'талита и тфилин* _(Мишеякир)_ *—* {:.5s}\n' \
                         '*Восход солнца* _(Нец Ахама)_ *—* {:.5s}\n' \
                         '*Конец времени чтения Шма' \
                         ' [Маген Авраам]* *—* {:.5s}\n' \
                         '*Конец времени чтения Шма [АГРО]* *—* {:.5s}\n' \
                         '*Конец времени чтения молитвы Амида\n' \
                         '[Маген Авраам]* *—*  {:.5s}\n' \
                         '*Конец времени чтения' \
                         ' молитвы Амида [АГРО]* *—* {:.5s}\n' \
                         '*Полдень* _(Хацот)_ *—* {:.5s}\n' \
                         '*Самое раннее время Минхи*' \
                         ' _(Минха Гдола)_ *—* {:.5s}\n' \
                         '*Малая Минха* _(Минха Ктана)_ *—* {:.5s}\n' \
                         '*Полу-Минха* _(Плаг Минха)_ *—* {:.5s}\n' \
                         '*Заход солнца* _(Шкия)_ *—* {:.5s}\n' \
                         '*Выход звезд [42 минуты]*' \
                         ' _(Цет Акохавим)_  *—* {:.5s}\n' \
                         '*Выход звезд [595 градусов]*' \
                         ' _(Цет Акохавим)_ *—* {:.5s}\n' \
                         '*Выход звезд [72 минуты]*' \
                         ' _(Цет Акохавим)_ *—* {:.5s}\n' \
                         '*Выход звезд [850 градусов]*' \
                         ' _(Цет Акохавим)_ *—* {:.5s}\n' \
                         '*Полночь* _(Хацот Алайла)_ *—* {:.5s}\n\n' \
                         '*Астрономический час [Маген Авраам]* *—*  {:.4s}\n' \
                         '*Астрономический час [АГРО]* *—* {:.4s}' \
                .format(year_day[0],
                        data.jewish_months_a[month],
                        year_day[1],
                        zmanim_dict['zmanim']['alos_ma'],
                        zmanim_dict['zmanim']['talis_ma'],
                        zmanim_dict['zmanim']['sunrise'],
                        zmanim_dict['zmanim']['sof_zman_shema_ma'],
                        zmanim_dict['zmanim']['sof_zman_shema_gra'],
                        zmanim_dict['zmanim']['sof_zman_tefila_ma'],
                        zmanim_dict['zmanim']['sof_zman_tefila_gra'],
                        zmanim_dict['zmanim']['chatzos'],
                        zmanim_dict['zmanim']['mincha_gedola_ma'],
                        zmanim_dict['zmanim']['mincha_ketana_gra'],
                        zmanim_dict['zmanim']['plag_mincha_ma'],
                        zmanim_dict['zmanim']['sunset'],
                        zmanim_dict['zmanim']['tzeis_42_minutes'],
                        zmanim_dict['zmanim']['tzeis_595_degrees'],
                        zmanim_dict['zmanim']['tzeis_72_minutes'],
                        zmanim_dict['zmanim']['tzeis_850_degrees'],
                        chazot_laila, shaa_zman_ma, shaa_zman_gra)
        elif lang == 'English':
            zmanim_str = '*Extended Zmanim*\n\n*Hebrew date:* {} {} {}\n' \
                         '*Alot Hashachar* *—* {:.5s}\n' \
                         '*Misheyakir* *—* {:.5s}\n' \
                         '*Hanetz Hachama* *—* {:.5s}\n' \
                         '*Sof Zman Shema [M"A]* *—* {:.5s}\n' \
                         '*Sof Zman Shema [GR"A]* *—* {:.5s}\n' \
                         '*Sof Zman Tefilah [M"A]* *—* {:.5s}\n' \
                         '*Sof Zman Tefilah [GR"A]* *—* {:.5s}\n' \
                         '*Chatzot Hayom* *—* {:.5s}\n' \
                         '*Mincha Gedolah* *—* {:.5s}\n' \
                         '*Mincha Ketanah* *—* {:.5s}\n' \
                         '*Plag Mincha* *—* {:.5s}\n' \
                         '*Shkiat Hachama* *—* {:.5s}\n' \
                         '*Tzeit Hakochavim [42 minutes]*  *—* {:.5s}\n' \
                         '*Tzeit Hakochavim [595 degrees]* *—* {:.5s}\n' \
                         '*Tzeit Hakochavim [72 minutes]*  *—* {:.5s}\n' \
                         '*Tzeit Hakochavim [850 degrees]* *—* {:.5s}\n' \
                         '*Chatzot Halayiah* *—* {:.5s}\n\n' \
                         '*Astronomical Hour [M"A]* *—* {:.4s}\n' \
                         '*Astronomical Hour [GR"A]* *—* {:.4s}' \
                .format(year_day[0],
                        month,
                        year_day[1],
                        zmanim_dict['zmanim']['alos_ma'],
                        zmanim_dict['zmanim']['talis_ma'],
                        zmanim_dict['zmanim']['sunrise'],
                        zmanim_dict['zmanim']['sof_zman_shema_ma'],
                        zmanim_dict['zmanim']['sof_zman_shema_gra'],
                        zmanim_dict['zmanim']['sof_zman_tefila_ma'],
                        zmanim_dict['zmanim']['sof_zman_tefila_gra'],
                        zmanim_dict['zmanim']['chatzos'],
                        zmanim_dict['zmanim']['mincha_gedola_ma'],
                        zmanim_dict['zmanim']['mincha_ketana_gra'],
                        zmanim_dict['zmanim']['plag_mincha_ma'],
                        zmanim_dict['zmanim']['sunset'],
                        zmanim_dict['zmanim']['tzeis_42_minutes'],
                        zmanim_dict['zmanim']['tzeis_595_degrees'],
                        zmanim_dict['zmanim']['tzeis_72_minutes'],
                        zmanim_dict['zmanim']['tzeis_850_degrees'],
                        chazot_laila, shaa_zman_ma, shaa_zman_gra)

    return zmanim_str
예제 #16
0
def yom_kippurim(get_dict, loc, lang):
    tz = f.get_tz_by_location(loc)
    tz_time = pytz.timezone(tz)
    now = datetime.now(tz_time)
    year = now.year
    month = now.month
    day = now.day
    h_numbers = re.findall(r'\d+', get_dict['dateYear1'])
    d_m = re.findall(r'[a-zA-z]+', get_dict['dateYear1'])
    h_numbers_2 = re.findall(r'\d+', get_dict['dateYear2'])
    d_m_2 = re.findall(r'[a-zA-z]+', get_dict['dateYear2'])

    month_time = data.holidays_month_index[d_m[1]]
    if month_time < month or month_time == month\
            and int(h_numbers[0]) < int(day):
        month_time = data.holidays_month_index[d_m_2[1]]
        day_time = h_numbers_2[0]
    else:
        day_time = h_numbers[0]
        month_time = data.holidays_month_index[d_m[1]]
    holiday_time = requests.get(
        f'{URL}/getCalendarData.php?mode=day&timezone='
        f'{tz}&dateBegin={month_time}/{day_time}/{year}'
        f'&lat={loc[0]}&lng={loc[1]}&havdala_offset=72')
    holi_time_dict = holiday_time.json()

    delta = timedelta(days=1)
    date1 = datetime.strptime(f'{month_time}/{day_time}/{year}', '%m/%d/%Y')
    d1 = date1 - delta
    spec_date = re.findall(r'\d+', str(d1))
    holiday_time_candle = requests.get(
        f'{URL}/getCalendarData.php?mode=day&timezone='
        f'{tz}&dateBegin={spec_date[1]}/{spec_date[2]}/{spec_date[0]}'
        f'&lat={loc[0]}&lng={loc[1]}&havdala_offset=72')
    holi_time_dict_candle = holiday_time_candle.json()

    d1 = datetime.strptime(holi_time_dict_candle['zmanim']['sunset'],
                           "%H:%M:%S")
    d_delta = timedelta(minutes=18)
    fast_time = ''
    if lang == 'Русский':
        fast_time = 'Зажигание свечей и начало поста: {}' \
                    ' {}' \
                    ' {:.5s}\n' \
                    'Авдала и конец поста: {}' \
                    ' {}' \
                    ' {:.5s}'\
            .format(spec_date[2], data.gr_months_index[str(spec_date[1])],
                    str(datetime.time(d1 - d_delta)), day_time,
                    data.gr_months_index[month_time],
                    holi_time_dict["zmanim"]["tzeis_850_degrees"])
    elif lang == 'English':
        fast_time = 'Candle lighting and the fast begins: {}' \
                    ' {}' \
                    ' {:.5s}\n' \
                    'Avdala and the fast ends: {}' \
                    ' {}' \
                    ' {:.5s}'\
            .format(spec_date[2], data.gr_months_index_en[str(spec_date[1])],
                    str(datetime.time(d1 - d_delta)), day_time,
                    data.gr_months_index_en[month_time],
                    holi_time_dict["zmanim"]["tzeis_850_degrees"])

    return fast_time
예제 #17
0
def pesach_sukkot(get_dict, number, loc, lang):
    tz = f.get_tz_by_location(loc)
    tz_time = pytz.timezone(tz)
    now = datetime.now(tz_time)
    year = now.year
    month = now.month
    day = now.day
    israel = False
    if tz == 'Asia/Jerusalem' or tz == 'Asia/Tel_Aviv' or tz == 'Asia/Hebron':
        israel = True
    h_numbers = re.findall(r'\d+', get_dict['dateYear1'])
    d_m = re.findall(r'[a-zA-z]+', get_dict['dateYear1'])
    h_numbers_2 = re.findall(r'\d+', get_dict['dateYear2'])
    d_m_2 = re.findall(r'[a-zA-z]+', get_dict['dateYear2'])
    if get_dict['name'] == 'Pesach':
        month_time = data.holidays_month_index[d_m[3]]
    else:
        month_time = data.holidays_month_index[d_m[1]]
    day_time = ''
    if number == 1:
        if month_time < month or month_time == month \
                and int(h_numbers[1]) < int(day):
            month_time = data.holidays_month_index[d_m_2[1]]
            day_time = h_numbers_2[0]
        else:
            day_time = h_numbers[0]
            month_time = data.holidays_month_index[d_m[1]]
    elif number == 2:
        if month_time < month or month_time == month\
                and int(h_numbers[1]) < int(day):
            month_time = data.holidays_month_index[d_m_2[3]]
            day_time = h_numbers_2[1]
        else:
            day_time = h_numbers[1]
            month_time = data.holidays_month_index[d_m[3]]
    holiday_time = requests.get(
        f'{URL}/getCalendarData.php?mode=day&timezone='
        f'{tz}&dateBegin={month_time}/{day_time}/{year}'
        f'&lat={loc[0]}&lng={loc[1]}&havdala_offset=72')

    holi_time_dict = holiday_time.json()

    date1 = datetime.strptime(f'{month_time}/{day_time}/{year}', '%m/%d/%Y')
    delta1 = timedelta(days=1)
    delta2 = timedelta(days=2)
    d1 = date1 - delta1
    d2 = date1 + delta1
    d3 = date1 + delta2
    spec_date1 = re.findall(r'\d+', str(d1))
    spec_date2 = re.findall(r'\d+', str(d2))
    spec_date3 = re.findall(r'\d+', str(d3))
    holiday_time_ra1 = requests.get(
        f'{URL}/getCalendarData.php?mode=day&timezone='
        f'{tz}&dateBegin={spec_date1[1]}/{spec_date1[2]}/{spec_date1[0]}'
        f'&lat={loc[0]}&lng={loc[1]}&havdala_offset=72')
    holiday_time_ra2 = requests.get(
        f'{URL}/getCalendarData.php?mode=day&timezone='
        f'{tz}&dateBegin={spec_date2[1]}/{spec_date2[2]}/{spec_date2[0]}'
        f'&lat={loc[0]}&lng={loc[1]}&havdala_offset=72')
    holiday_time_ra3 = requests.get(
        f'{URL}/getCalendarData.php?mode=day&timezone='
        f'{tz}&dateBegin={spec_date3[1]}/{spec_date3[2]}/{spec_date3[0]}'
        f'&lat={loc[0]}&lng={loc[1]}&havdala_offset=72')
    holi_time_dict_ra1 = holiday_time_ra1.json()
    holi_time_dict_ra2 = holiday_time_ra2.json()
    holi_time_dict_ra3 = holiday_time_ra3.json()
    d_candle = datetime.strptime(holi_time_dict_ra1['zmanim']['sunset'],
                                 "%H:%M:%S")
    d_candle2 = datetime.strptime(holi_time_dict_ra2['zmanim']['sunset'],
                                  "%H:%M:%S")
    d_delta = timedelta(minutes=18)
    ra_time = ''
    # проверка на израиль
    if not israel:
        if holi_time_dict['dayOfWeek'] == '4':
            if lang == 'Русский':
                ra_time = 'Зажигание свечей: {}' \
                          ' {}' \
                          ' {:.5s}\n' \
                          'Зажигание свечей: {}' \
                          ' {}' \
                          ' {:.5s}\n' \
                          'Зажигание свечей (Шаббат): {}' \
                          ' {} ' \
                          '{:.5s}\n' \
                          'Авдала: {}' \
                          ' {}' \
                          ' {:.5s}'\
                    .format(spec_date1[2],
                            data.gr_months_index[str(spec_date1[1])],
                            str(datetime.time(d_candle - d_delta)),
                            day_time,
                            data.gr_months_index[month_time],
                            holi_time_dict["zmanim"]["tzeis_850_degrees"],
                            spec_date2[2],
                            data.gr_months_index[str(spec_date2[1])],
                            str(datetime.time(d_candle2 - d_delta)),
                            spec_date3[2],
                            data.gr_months_index[str(spec_date3[1])],
                            holi_time_dict_ra3["zmanim"]["tzeis_850_degrees"])
            elif lang == 'English':
                ra_time = 'Candle lighting: {}' \
                          ' {}' \
                          ' {:.5s}\n' \
                          'Candle lighting: {}' \
                          ' {}' \
                          ' {:.5s}\n' \
                          'Candle lighting: {}' \
                          ' {} ' \
                          '{:.5s}\n' \
                          'Avdala: {}' \
                          ' {}' \
                          ' {:.5s}'\
                    .format(spec_date1[2],
                            data.gr_months_index_en[str(spec_date1[1])],
                            str(datetime.time(d_candle - d_delta)),
                            day_time,
                            data.gr_months_index_en[month_time],
                            holi_time_dict["zmanim"]["tzeis_850_degrees"],
                            spec_date2[2],
                            data.gr_months_index_en[str(spec_date2[1])],
                            str(datetime.time(d_candle2 - d_delta)),
                            spec_date3[2],
                            data.gr_months_index_en[str(spec_date3[1])],
                            holi_time_dict_ra3["zmanim"]["tzeis_850_degrees"])
        else:
            if lang == 'Русский':
                ra_time = 'Зажигание свечей: {}' \
                          ' {}' \
                          ' {:.5s}\n' \
                          'Зажигание свечей: {}' \
                          ' {}' \
                          ' {:.5s}\n' \
                          'Авдала: {}' \
                          ' {}' \
                          ' {:.5s}'\
                    .format(spec_date1[2],
                            data.gr_months_index[str(spec_date1[1])],
                            str(datetime.time(d_candle - d_delta)),
                            day_time, data.gr_months_index[month_time],
                            holi_time_dict["zmanim"]["tzeis_850_degrees"],
                            spec_date2[2],
                            data.gr_months_index[str(spec_date2[1])],
                            holi_time_dict_ra2["zmanim"]["tzeis_850_degrees"])
            elif lang == 'English':
                ra_time = 'Candle lighting: {}' \
                          ' {}' \
                          ' {:.5s}\n' \
                          'Candle lighting: {}' \
                          ' {}' \
                          ' {:.5s}\n' \
                          'Avdala: {}' \
                          ' {}' \
                          ' {:.5s}'\
                    .format(spec_date1[2],
                            data.gr_months_index_en[str(spec_date1[1])],
                            str(datetime.time(d_candle - d_delta)),
                            day_time, data.gr_months_index_en[month_time],
                            holi_time_dict["zmanim"]["tzeis_850_degrees"],
                            spec_date2[2],
                            data.gr_months_index_en[str(spec_date2[1])],
                            holi_time_dict_ra2["zmanim"]["tzeis_850_degrees"])
    else:
        if lang == 'Русский':
            ra_time = 'Зажигание свечей: {}' \
                      ' {}' \
                      ' {:.5s}\n' \
                      'Авдала: {}' \
                      ' {}' \
                      ' {:.5s}'\
                .format(spec_date1[2],
                        data.gr_months_index[str(spec_date1[1])],
                        str(datetime.time(d_candle - d_delta)),
                        day_time, data.gr_months_index[month_time],
                        holi_time_dict["zmanim"]["tzeis_850_degrees"])
        elif lang == 'English':
            ra_time = 'Candle lighting: {}' \
                      ' {}' \
                      ' {:.5s}\n' \
                      'Avdala: {}' \
                      ' {}' \
                      ' {:.5s}'\
                .format(spec_date1[2],
                        data.gr_months_index_en[str(spec_date1[1])],
                        str(datetime.time(d_candle - d_delta)),
                        day_time, data.gr_months_index_en[month_time],
                        holi_time_dict["zmanim"]["tzeis_850_degrees"])

    return ra_time
예제 #18
0
def get_holiday_data(holidays_dict, loc, lang):
    tz = f.get_tz_by_location(loc)
    tz_time = pytz.timezone(tz)
    now = datetime.now(tz_time)
    year = now.year
    month = now.month
    day = now.day
    h_numbers = re.findall(r'\d+', holidays_dict['dateYear1'])
    d_m = re.findall(r'[a-zA-z]+', holidays_dict['dateYear1'])
    h_numbers_2 = re.findall(r'\d+', holidays_dict['dateYear2'])
    d_m_2 = re.findall(r'[a-zA-z]+', holidays_dict['dateYear2'])
    brackets = re.findall(r'[(){}[\]]+', holidays_dict['dateYear1'])
    holiday_number = ''
    if len(d_m) == 4 or len(d_m_2) == 4:
        day2 = h_numbers[1]
        month2 = data.holidays_month_index[d_m[3]]
        if brackets:
            month2 = 13
        if int(month2) == int(month) and int(day2) < int(day)\
                or int(month2) < int(month):
            if lang == 'Русский':
                holiday_number = f'Дата: {h_numbers_2[0]}' \
                                 f' {data.holidays_month[d_m_2[1]]} -' \
                                 f' {h_numbers_2[1]}' \
                                 f' {data.holidays_month[d_m_2[3]]}' \
                                 f' {year + 1} годa,' \
                                 f' {data.hdays_of_7[d_m_2[0]]} -' \
                                 f' {data.hdays_of_7[d_m_2[2]]}'
            elif lang == 'English':
                holiday_number = f'Date: {h_numbers_2[0]}' \
                                 f' {data.holidays_month_en[d_m_2[1]]} -' \
                                 f' {h_numbers_2[1]}' \
                                 f' {data.holidays_month_en[d_m_2[3]]}' \
                                 f' {year + 1} year,' \
                                 f' {data.hdays_of_7_en[d_m_2[0]]} -' \
                                 f' {data.hdays_of_7_en[d_m_2[2]]}'
        elif month == 1 and holidays_dict['name'] == 'AsarahBTevet'\
                or month == 1 and holidays_dict['name'] == 'Chanukah':
            if lang == 'Русский':
                holiday_number = f'Дата: {h_numbers_2[0]}' \
                                 f' {data.holidays_month[d_m_2[1]]} -' \
                                 f' {h_numbers_2[1]}' \
                                 f' {data.holidays_month[d_m_2[3]]}' \
                                 f' {year} годa,' \
                                 f' {data.hdays_of_7[d_m_2[0]]} -' \
                                 f' {data.hdays_of_7[d_m_2[2]]}'
            elif lang == 'English':
                holiday_number = f'Date: {h_numbers_2[0]}' \
                                 f' {data.holidays_month_en[d_m_2[1]]} -' \
                                 f' {h_numbers_2[1]}' \
                                 f' {data.holidays_month_en[d_m_2[3]]}' \
                                 f' {year} year,' \
                                 f' {data.hdays_of_7_en[d_m_2[0]]} -' \
                                 f' {data.hdays_of_7_en[d_m_2[2]]}'
        elif month2 == 13:
            if lang == 'Русский':
                holiday_number = f'Дата: {h_numbers[0]}' \
                                 f' {data.holidays_month[d_m[1]]} -' \
                                 f' {h_numbers[1]}' \
                                 f' {data.holidays_month[d_m[3]]}' \
                                 f' {year + 1} годa,' \
                                 f' {data.hdays_of_7[d_m[0]]} -' \
                                 f' {data.hdays_of_7[d_m[2]]}'
            elif lang == 'English':
                holiday_number = f'Date: {h_numbers[0]}' \
                                 f' {data.holidays_month_en[d_m[1]]} -' \
                                 f' {h_numbers[1]}' \
                                 f' {data.holidays_month_en[d_m[3]]}' \
                                 f' {year + 1} year,' \
                                 f' {data.hdays_of_7_en[d_m[0]]} -' \
                                 f' {data.hdays_of_7_en[d_m[2]]}'
        else:
            if lang == 'Русский':
                holiday_number = f'Дата: {h_numbers[0]}' \
                                 f' {data.holidays_month[d_m[1]]} -' \
                                 f' {h_numbers[1]}' \
                                 f' {data.holidays_month[d_m[3]]}' \
                                 f' {year} годa,' \
                                 f' {data.hdays_of_7[d_m[0]]} -' \
                                 f' {data.hdays_of_7[d_m[2]]}'
            elif lang == 'English':
                holiday_number = f'Date: {h_numbers[0]}' \
                                 f' {data.holidays_month_en[d_m[1]]} -' \
                                 f' {h_numbers[1]}' \
                                 f' {data.holidays_month_en[d_m[3]]}' \
                                 f' {year} year,' \
                                 f' {data.hdays_of_7_en[d_m[0]]} -' \
                                 f' {data.hdays_of_7_en[d_m[2]]}'
    else:
        day1 = h_numbers[0]
        month1 = data.holidays_month_index[d_m[1]]
        if brackets:
            month1 = 13
        if int(month1) < int(month) or int(month1) == int(month)\
                and int(day) > int(day1):
            if lang == 'Русский':
                holiday_number = f'Дата: {h_numbers_2[0]}' \
                                 f' {data.holidays_month[d_m_2[1]]},' \
                                 f' {year + 1} годa,' \
                                 f' {data.hdays_of_7[d_m_2[0]]}'
            elif lang == 'English':
                holiday_number = f'Date: {h_numbers_2[0]}' \
                                 f' {data.holidays_month_en[d_m_2[1]]},' \
                                 f' {year + 1} year,' \
                                 f' {data.hdays_of_7_en[d_m_2[0]]}'
        elif month == 1 and holidays_dict['name'] == 'AsarahBTevet' \
                or holidays_dict['name'] == 'Chanukah':
            if lang == 'Русский':
                holiday_number = f'Дата: {h_numbers_2[0]}' \
                                 f' {data.holidays_month[d_m_2[1]]},' \
                                 f' {year} годa,' \
                                 f' {data.hdays_of_7[d_m_2[0]]}'
            elif lang == 'English':
                holiday_number = f'Date: {h_numbers_2[0]}' \
                                 f' {data.holidays_month_en[d_m_2[1]]},' \
                                 f' {year} year,' \
                                 f' {data.hdays_of_7_en[d_m_2[0]]}'
        elif month1 == 13:
            if lang == 'Русский':
                holiday_number = f'Дата: {h_numbers[0]}' \
                                 f' {data.holidays_month[d_m[1]]},' \
                                 f' {year + 1} годa,' \
                                 f' {data.hdays_of_7[d_m[0]]}'
            elif lang == 'English':
                holiday_number = f'Date: {h_numbers[0]}' \
                                 f' {data.holidays_month_en[d_m[1]]},' \
                                 f' {year + 1} year,' \
                                 f' {data.hdays_of_7_en[d_m[0]]}'
        else:
            if lang == 'Русский':
                holiday_number = f'Дата: {h_numbers[0]}' \
                                 f' {data.holidays_month[d_m[1]]},' \
                                 f' {year} годa,' \
                                 f' {data.hdays_of_7[d_m[0]]}'
            elif lang == 'English':
                holiday_number = f'Date: {h_numbers[0]}' \
                                 f' {data.holidays_month_en[d_m[1]]},' \
                                 f' {year} year,' \
                                 f' {data.hdays_of_7_en[d_m[0]]}'
    return holiday_number