refactor reminder.py
This commit is contained in:
+8
-6
@@ -1,9 +1,11 @@
|
|||||||
"Date","Name","Description"
|
"Date","Name","Description"
|
||||||
"09-13","День программиста","День программиста отмечают практически повсеместно, ведь в XXI веке важность и необходимость этой профессии понятна всем. А в России праздник даже является официальным"
|
0001-01-28,"Международный день защиты персональных данных","Международный день защиты персональных данных (Data Protection Day). Это праздник был учрежден для того, чтобы пользователи сети не забывали о соблюдении правил поведения в интернете, которые помогают обезопасить их виртуальную и реальную жизнь"
|
||||||
"01-28","Международный день защиты персональных данных","Международный день защиты персональных данных (Data Protection Day). Это праздник был учрежден для того, чтобы пользователи сети не забывали о соблюдении правил поведения в интернете, которые помогают обезопасить их виртуальную и реальную жизнь"
|
0001-09-13,"День программиста","День программиста отмечают практически повсеместно, ведь в XXI веке важность и необходимость этой профессии понятна всем. А в России праздник даже является официальным"
|
||||||
"09-30","День интернета","Все началось с того, что в 1998 году московская фирма IT Infoart Stars разослала фирмам и организациям предложение поддержать инициативу, состоящую из двух пунктов: назначить 30 сентября «Днем интернета», ежегодно его праздновать и провести «перепись населения русскоязычного интернета»"
|
0001-09-30,"День интернета","Все началось с того, что в 1998 году московская фирма IT Infoart Stars разослала фирмам и организациям предложение поддержать инициативу, состоящую из двух пунктов: назначить 30 сентября «Днем интернета», ежегодно его праздновать и провести «перепись населения русскоязычного интернета»"
|
||||||
|
1995-05-23,"День рождения MySQL","MySQL возникла как попытка применить mSQL к собственным разработкам компании: таблицам, для которых использовались ISAM — подпрограммы низкого уровня"
|
||||||
|
1996-07-08,"День рождения PostgreSQL","К разработке Postgres, начавшейся в 1986 году, имел непосредственное отношение Майкл Стоунбрейкер, руководитель более раннего проекта Ingres"
|
||||||
2005-07-21,"День рождения Django","Джанго — свободный фреймворк для веб-приложений на языке Python. Проект поддерживается организацией <i>Django Software Foundation</i>. Веб-фреймворк Django используется в сайтах Instagram, Disqus, Mozilla, The Washington Times, Pinterest, YouTube, Google и др. Авторы: американский веб-разработчик Адриан Головатый и британский программист Саймон Уиллисон"
|
2005-07-21,"День рождения Django","Джанго — свободный фреймворк для веб-приложений на языке Python. Проект поддерживается организацией <i>Django Software Foundation</i>. Веб-фреймворк Django используется в сайтах Instagram, Disqus, Mozilla, The Washington Times, Pinterest, YouTube, Google и др. Авторы: американский веб-разработчик Адриан Головатый и британский программист Саймон Уиллисон"
|
||||||
2018-12-05,"День рождения FastAPI","FastAPI — веб-фреймворк для создания API, написанный на Python. Один из самых быстрых и популярных (после Django и Flask) веб-фреймворков, написанных на Python. Автор — колумбиец Себастьян Рамирез"
|
|
||||||
2010-04-01,"День рождения Flask","Создатель и основной автор — австрийский программист Армин Ронахер, начал работу над проектом в 2010 году"
|
|
||||||
"1991-02-20","День рождения Python","Задумка по реализации языка появилась в конце 1980-х годов, а разработка его реализации началась в 1989 году сотрудником голландского института CWI Гвидо ван Россумом. Гвидо начал разрабатывать Python на досуге, позаимствовав некоторые наработки для языка ABC"
|
|
||||||
2008-12-03,"День рождения Python 3","После длительного тестирования, вышла первая версия Python 3000 (или Python 3.0, также используется сокращение Py3k). В Python 3000 устранены многие недостатки архитектуры с максимально возможным (но не полным) сохранением совместимости со старыми версиями Python"
|
2008-12-03,"День рождения Python 3","После длительного тестирования, вышла первая версия Python 3000 (или Python 3.0, также используется сокращение Py3k). В Python 3000 устранены многие недостатки архитектуры с максимально возможным (но не полным) сохранением совместимости со старыми версиями Python"
|
||||||
|
2010-04-01,"День рождения Flask","Создатель и основной автор — австрийский программист Армин Ронахер, начал работу над проектом в 2010 году"
|
||||||
|
2018-12-05,"День рождения FastAPI","FastAPI — веб-фреймворк для создания API, написанный на Python. Один из самых быстрых и популярных (после Django и Flask) веб-фреймворков, написанных на Python. Автор — колумбиец Себастьян Рамирез"
|
||||||
|
"1991-02-20","День рождения Python","Задумка по реализации языка появилась в конце 1980-х годов, а разработка его реализации началась в 1989 году сотрудником голландского института CWI Гвидо ван Россумом. Гвидо начал разрабатывать Python на досуге, позаимствовав некоторые наработки для языка ABC"
|
||||||
|
|||||||
|
+12
-17
@@ -7,14 +7,12 @@ import csv
|
|||||||
from dotenv import load_dotenv
|
from dotenv import load_dotenv
|
||||||
|
|
||||||
from config import PYTHONCHATRU
|
from config import PYTHONCHATRU
|
||||||
|
|
||||||
# https://core.telegram.org/bots/api Telegram Bot API
|
# https://core.telegram.org/bots/api Telegram Bot API
|
||||||
|
|
||||||
dotenv_path = '.env'
|
dotenv_path = '.env'
|
||||||
load_dotenv(dotenv_path)
|
load_dotenv(dotenv_path)
|
||||||
|
|
||||||
with open('holidays.csv', newline='', encoding='utf-8') as holidays_file:
|
|
||||||
holidays = tuple(csv.reader(holidays_file))
|
|
||||||
|
|
||||||
|
|
||||||
def scheduler():
|
def scheduler():
|
||||||
while True:
|
while True:
|
||||||
@@ -24,24 +22,21 @@ def scheduler():
|
|||||||
|
|
||||||
def remind():
|
def remind():
|
||||||
""" Remind holiday. """
|
""" Remind holiday. """
|
||||||
|
with open('holidays.csv', newline='', encoding='utf-8') as holidays_file:
|
||||||
|
holidays = tuple(csv.reader(holidays_file))
|
||||||
today = dt.today()
|
today = dt.today()
|
||||||
for entry in holidays[1:]:
|
for entry in holidays[1:]:
|
||||||
date, holiday, description = entry
|
date, holiday, description = entry
|
||||||
if len(date) == 5 \
|
if today.month == dt.strptime(date, "%Y-%m-%d").month and today.day == dt.strptime(date, "%Y-%m-%d").day:
|
||||||
and today.month == dt.strptime(date, "%m-%d").month \
|
if dt.strptime(date, "%Y-%m-%d").year == 1:
|
||||||
and today.day == dt.strptime(date, "%m-%d").day:
|
notification = f'🎉💻 Сегодня {dt.strptime(date, "%m-%d"):%d.%m}, <b><u>{holiday.upper()}</u></b>! \
|
||||||
notification = f'🎉💻 Сегодня {dt.strptime(date, "%m-%d"):%d.%m}, <b><u>{holiday.upper()}</u></b>! \
|
\n\n{description}.'
|
||||||
\n\n{description}.'
|
else:
|
||||||
bot.send_message(PYTHONCHATRU, notification, parse_mode='HTML') # PYTHONCHATRU
|
age = today.year - dt.strptime(date, "%Y-%m-%d").year
|
||||||
elif len(date) == 10 \
|
notification = f'🎉💻 Сегодня {dt.strptime(date, "%Y-%m-%d"):%d.%m}, <b><u>{holiday.upper()}</u></b>! \
|
||||||
and today.month == dt.strptime(date, "%Y-%m-%d").month \
|
\n\n{description}.\n<i>{age} годовщина</i>'
|
||||||
and today.day == dt.strptime(date, "%Y-%m-%d").day:
|
|
||||||
age = today.year - dt.strptime(date, "%Y-%m-%d").year
|
|
||||||
notification = f'🎉💻 Сегодня {dt.strptime(date, "%Y-%m-%d"):%d.%m}, <b><u>{holiday.upper()}</u></b>! \
|
|
||||||
\n\n{description}.\n<i>{age} годовщина</i>'
|
|
||||||
bot.send_message(PYTHONCHATRU, notification, parse_mode='HTML') # PYTHONCHATRU
|
bot.send_message(PYTHONCHATRU, notification, parse_mode='HTML') # PYTHONCHATRU
|
||||||
|
|
||||||
|
|
||||||
schedule.every().day.at('08:00').do(remind)
|
schedule.every().day.at('07:00').do(remind)
|
||||||
Thread(target=scheduler).start()
|
Thread(target=scheduler).start()
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user