Голосовое оповещение о приходящих письмах на почту gmail.com


Предыдущая | Следующая

Создадим небольшой проект голосового оповещения при приходе новых писем на почту gmail.com. Для проверки почты (один раз в 10 минут) и голосового оповещения о новых письмах, поступивших для учетной записи на gmail.com, напишем на языке Python скрипт, использующий интерфейс Gmail APIs1 и учитывающий, что информация о непрочитанных сообщениях выдается в формате XML при обраще­нии к странице: https://LOGIN:@PASSWORD@mail.google.com/mail/feed/atom

(рис. 4.30).

Для написания скрипта на Python мы воспользуемся модулем feedparser. Самый простой способ устанавливать модули Python — с помощью менеджера пакетов python-pip. Для его установки выполним команду:

sudo apt-get install python-pip python2.7-dev

Чтобы python-pip правильно заработал, нужно обновить пакет distribute програм­мой easy_install:

sudo easy_install -U distribute

Теперь с помощью менеджера пакетов python-pip установим модуль feedparser:

sudo pip install feedparser

Скрипт получает XML-файл и проверяет, появились ли новые письма. Если появились, то формирует строку для голосового сообщения и произносит ее с помощью синтезатора Espeak (см. разд. 4.12.1). Кроме того, скрипт формирует HTML-файл со списком новых писем и ссылками для перехода на них. Потом этот HTML-файл открывается в браузере (рис. 4.31). Содержимое скрипта (файл gmail_espeak.py) представлено в листинге 4.3.

1 Подробную информацию о Gmail APIs можно найти по адресу:

Листинг 4.3. Скрипт gmail_espeak.py

Теперь осталось только добавить в планировщик cron задачу для запуска нашего скрипта каждые 10 минут. Открываем для редактирования файл конфигурации cron:

sudo crontab -e

И добавляем в конец файла строку:

* * * * * python /home/pi/python prg/gmail espeak/gmail espeak.py

Теперь каждые 10 минут почта проверяется и, в случае наличия новых сообщений, выдается голосовое оповещение и в браузер выводится страница со ссылками пере­хода на новые письма.

Примечание

Код скрипта gmail_espeak.py вы найдете в папке glava_04\gmail_espeak сопровождающего книгу электронного архива (см. приложение).