Skip to content

homm/doner-kebab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Импорт сведений о пожертвованиях организации «Городские проекты» из писем, присылаемых системой Яндекс-денег в документ Google Spreadsheet.

Технологии

Из указанного почтового ящика по протоколу IMAP получается список непрочитанных писем от заданного источника (системы Яндекс.Деньги) с заданным заголовком.

Письма расшифровываются в соответствии с форматом хранения писем RFC822 и переводятся в текстовой вид. Из писем извлекаются интересующие данные.

Полученные данные добавляются в указанный документ Google Spreadsheet через Google Sheets API (версии 3).

Обработанным письмам ставится отметка о прочтении, поэтому в следующий раз уже обработанные письма не отмечаются. Если возникает какая-то проблема при обработке, пометка о прочтении не ставится. После устранении проблемы можно еще раз запустить скрипты и обработать проблемные письма. Если на письмах стоит отметка о прочтении, но их зачем-то нужно обработать (например, в самый первый раз), то отметку о прочтении нужно снять (что логично).

Настройка

Все настройки хранятся файле config.py.

EMAIL_CONNECT

Настройки, необходимые для подключению к почтовому серверу.

Будьте внимательны, не храните настоящие пароли в репозитории!

  • login — почтовый ящик.
  • password — пароль.
  • server — хост сервера, поддерживающего протокол IMAP. Для Яндекса — imap.yandex.ru, для GMail — imap.gmail.com. Для остальных уточняйте в документации почтового сервиса.
  • ssl — использовать шифрование. Рекомендуется оставить True.

EMAIL_SEARCH

Параметры поиска нужных писем в почтовом ящике.

  • mailbox — почтовый ящик. Входящие — это INBOX.
  • from — отправитель писем с квитанциями.
  • subject — заголовок или часть заголовка нужных писем.

PARSE_RULES

Список правил разбора писем. Состоит за пар "название", "начало строки". В качестве значения берется все, что после начала строки до следующего перевода строки (то есть если само значение будет содержать перевод строки, нужно будет что-то придумать).

GOOGLE_AUTH

Сертификат Google для использования API. Инструкция, как получить.

GOOGLE_DOC

Параметры таблицы, в которую будут заноситься данные.

  • id — идентификатор таблицы, получается из ее адреса. Пример: docs.google.com/spreadsheets/d/1ewAwn_qGkfJOLSoxJ7MBt3kUBFoVQC1rLo1zFtnEpQs/
  • worksheet — номер листа в таблице, в который нужно заносить данные. Первый — 0.

Откройте доступ к редактированию таблицу для почтового ящика из поля сертификата client_email. Имя ящика будет похоже на 688179275061-p119h20spoa8a4ccqcnrbjq87cd0f56s@developer.gserviceaccount.com

Установка

Скрипт — это программа на языке Python. Для запуска нужна версия Python 2.7.9+. Версии 3.X.Y для запуска не годятся.

  1. Скачать и установить Python. Если у вас Mac или Linux, с 99.9% вероятностью он уже установлен.
  2. Если Python версии ниже 2.7.9, возможно у вас не установлен pip. Тогда его нужно установить отдельно.
  3. Устанавливаем зависимости. Переходим в папку с проектом и выполяем в командной строке: python -m pip install -r requirements.txt
  4. Для запуска достаточно просто запустить runme.py.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages