$put_perv_real = "/home/www/dvakompa-ru/dopol/"; ?>
Создадим небольшой проект голосового оповещения при приходе новых писем на почту 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 сопровождающего книгу электронного архива (см. приложение).