Как отправить push-уведомления на рабочий стол в Linux с помощью Python
LinuxВсплывающие на рабочем столе уведомления, которые сообщает пользователю о каком-либо событии, называют дескопным уведомлением. Причины появления таких уведомлений могут быть самыми разными, необязательно, чтобы это было связано с работой пользователя, например, низкий заряд батареи, новое сообщение на сети, обновление ПО и другое. Чтобы получать важную для пользователя информацию мгновенно, можно создать специальную программу, выводящую на экран заданный контент.
Как создать программу для отправки push-уведомления с помощью Python
Чтобы отправлять такие уведомления, необходимо найти языковой пакет для Python notify2. Для его установки нужно задаем: pip install notify2.
Рассмотрим создание программы на примере создания уведомлений, выводящих данные о курсе биткоин.
Всю процедуру можно условно разделить на 3 этапа:
- сбор нужной информации;
- инициализация инструмента;
- вывод полученного контента в пуш уведомлениях.
Чтобы иметь возможность отправить пуш уведомления на рабочий стол, для начала выполним сбор информации относительно курса биткоин — их можно извлечь из CoinGecko. Данный веб-ресурс не дает данных API-интерфейса, поэтому извлекать нужную информацию следует из HTML, в частности из BeautifulSoup, найти нужную информация следует в тегах <table> и <tr>.
Получаем следующую структуру:
Следующий шаг — создание rates.py, файла, куда нужно поместить код:
Таким образом задается функция, формирующая курс биткоин в виде списка, что станет возможно после того как нужные данные будут извлечены из CoinGecko. Если вас интересует, как создать программу для получения другой информации или нужна разработка и создание сайта «под ключ», обращайтесь к специалистам компании Nomax.
Как выполняется инициализация инструмента
Получив необходимую информацию, следующим шагом выполняем инициализацию, необходимую для отправки push-уведомления на рабочий стол в Linux.
Делаем это следующим образом.
Перед тем, как начать отправлять push-уведомления на рабочий стол, следует активизировать соединение D-Bus. Это механизм, отвечающий за взаимодействия между программами, используемыми в Linux, для обмена данными между процессами. Для отображения push-уведомления, программу нужно подключить к процессу, отвечающему за системный интерфейс, что позволит оформить передачу ему уведомлений. В нашу задачу входит вызов функции notify2.init() в которой определяется имя созданной программы. Благодаря этому notify2 получает возможность установить и выполнить ее подключение в D-Bus:
notify2.init("Средство уведомления о курсе криптовалют")
Следующий шаг — создание объекта уведомлений
n = notify2.Notification("Crypto Notifier", icon = ICON_PATH)
Затем формируем структуру, общую для объекта уведомлений:
notify2.Notification(summary, message='body text', icon=ICON_PATH)
Чтобы отправка push уведомлений выполнялась срочно, данный параметр можно задать, используя set_urgency:
n.set_urgency(notify2.URGENCY_NORMAL)
Также нам доступны константы: notify2.URGENCY_LOW, notify2.URGENCY_CRITICAL.
Для определения временного интервала между отправкой push уведомлений устанавливаем:
n.set_timeout(1000)
Как будет отображаться контент
После окончания инициализации, нужно выполнить отображение уведомления.
Последовательность действий во фрагменте кода:
Следующим шагом выполняем анализ кода:
- сформируем контент, который будет отображен в виде списка, для этого применим функцию fetch_bitcoin;
- полученный контент передается инструменту, которым выполняется отправка push уведомлений;
- для их показа используется n.show().
Результат проделанной работы будет выглядеть на экране так:
Если у вас остались вопросы относительно того, как отправить push-уведомления с помощью Python на рабочий стол, обращайтесь нашим специалистам. Использовать данный принцип создания программы можно для любого важного для пользователя контента — вся нужна информация будет доступна мгновенно.