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
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, 'Получил геометку')
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, 'Получил геометку')
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, 'Получил текстовую геометку')
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
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
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
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
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
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
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
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
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
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
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
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
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
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