В этой статье показано, как создать простое приложение Desktop Notifier с использованием Python.
Настольный уведомитель — это простое приложение, которое создает уведомление в виде всплывающего сообщения на рабочем столе.
Содержание уведомления
В примере, который мы используем в этой статье, контент, который будет отображаться в виде уведомления на рабочем столе, является главными новостями дня.
Итак, чтобы получить верхние заголовки, мы будем использовать этот скрипт Python для очистки заголовков новостей:
|
Это простой скрипт Python, который анализирует заголовки новостей, доступные в формате XML.
Примечание. Чтобы понять, как работает синтаксический анализ XML, обратитесь к этой статье: Анализ XML в Python.
Пример новости, сгенерированный приведенным выше скриптом Python, выглядит следующим образом:
{'description': 'Months after it was first reported, the feud between Dwayne Johnson and
Vin Diesel continues to rage on, with a new report saying that the two are
being kept apart during the promotions of The Fate of the Furious.',
'link': 'http://www.hindustantimes.com/hollywood/vin-diesel-dwayne-johnson-feud-rages-
on-they-re-being-kept-apart-for-fast-8-tour/story-Bwl2Nx8gja9T15aMvcrcvL.html',
'media': 'http://www.hindustantimes.com/rf/image_size_630x354/HT/p2/2017/04/01/Pictures
/_fbcbdc10-1697-11e7-9d7a-cd3db232b835.jpg',
'pubDate': b'Sat, 01 Apr 2017 05:22:51 GMT ',
'title': "Vin Diesel, Dwayne Johnson feud rages on; they're being deliberately kept apart"}
Сохраните этот скрипт Python как topnews.py (поскольку мы импортируем его под этим именем в наше приложение для уведомлений на рабочем столе).
сооружения
Теперь, чтобы создать настольное оповещение, вам нужно установить сторонний Python-модуль notify2 .
Вы можете установить notify2 с помощью простой команды pip:
pip install notify2
Настольное приложение уведомлений
Теперь мы пишем скрипт Python для нашего настольного уведомителя.
Рассмотрим код ниже:
|
Давайте попробуем проанализировать приведенный выше код шаг за шагом:
- Прежде чем мы сможем отправлять какие-либо уведомления, нам нужно инициализировать соединение D-Bus. D-Bus — это система шин сообщений, простой способ для приложений общаться друг с другом. Итак, соединение D-Bus для notify2 в текущем скрипте Python инициализируется с помощью:
notify2.init("News Notifier")
Здесь, единственный аргумент , который мы прошли это имя приложения. Вы можете установить любое произвольное имя приложения.
- Теперь мы создаем объект уведомления, п с помощью:
n = notify2.Notification(None, icon = ICON_PATH)
Общий синтаксис для вышеуказанного метода:
notify2.Notification(summary, message='', icon='')
Вот,
- резюме: текст заголовка
- сообщение: основной текст
- значок: путь к изображению значка
В настоящее время мы установили сводку как None и передали ICON_PATH в качестве аргумента значка .
Примечание. Вам необходимо указать полный путь к значку изображения.
- При желании вы можете установить уровень срочности уведомлений, используя метод set_urgency :
n.set_urgency(notify2.URGENCY_NORMAL)
Доступные константы:
- notify2.URGENCY_LOW
- notify2.URGENCY_NORMAL
- notify2.URGENCY_CRITICAL
- Другой необязательной утилитой является метод set_timeout, с помощью которого вы можете явно установить продолжительность отображения в миллисекундах, как показано ниже:
n.set_timeout(10000)
- Теперь, когда мы перебираем каждый элемент новостей один за другим, нам нужно обновить объект уведомления новыми сводками и сообщениями, используя метод обновления :
n.update(newsitem['title'], newsitem['description'])
- Для того , чтобы отобразить уведомление, просто вызовите шоу () метод объекта уведомления , как это:
n.show()
Пример снимка экрана рабочего стола при запуске над скриптом Python:
Github-репозиторий для этого приложения для уведомлений на рабочем столе: Desktop-Notifier-Example
Этот блог предоставлен Нихилом Кумаром . Если вам нравится GeeksforGeeks и вы хотели бы внести свой вклад, вы также можете написать статью, используя contrib.geeksforgeeks.org, или отправить свою статью на электронный адрес contrib@geeksforgeeks.org. Смотрите свою статью, появляющуюся на главной странице GeeksforGeeks, и помогите другим вундеркиндам.
Пожалуйста, пишите комментарии, если вы обнаружите что-то неправильное или вы хотите поделиться дополнительной информацией по обсуждаемой выше теме.
Рекомендуемые посты:
- Python Desktop News Notifier в 20 строк
- Python | Конвертировать список в массив Python
- Чтение файловоподобных объектов Python из C | питон
- Важные различия между Python 2.x и Python 3.x с примерами
- Python | Объединить значения ключа Python в список
- Python | Индекс ненулевых элементов в списке Python
- Python | Набор 4 (словарь, ключевые слова в Python)
- Python | Добавить запись в скрипт Python
- Python | Сортировать словари Python по ключу или значению
- Python | Добавить запись в библиотеки Python
- Python | Визуализация O (n) с использованием Python
- JavaScript против Python: сможет ли Python превзойти JavaScript к 2020 году?
- bin () в Python
- zip () в Python
- max () и min () в Python
0.00 (0%) 0 votes