Категории

Язык
Окружение
Проект
Циклы статей

25 февраля 2015 г. 21:10 (ред. 25 февраля 2015 г. 21:12)
В начале недели номер версии django-sitemessage — каркаса для отправки сообщений из Django — перевалил за 0.5.
django-sitemessage позволяет в терминах тип сообщения и средство доставки описать логику рассылки сообщений пользователям, чтобы потом удобно эту рассылку осуществлять.

Средства доставки (messenger) — это клиентские классы, реализующие рассылку сообщений средствами того или иного протокола. Например, сейчас sitemessage умеет отправлять сообщения по smtp, xmpp и в twitter. На этом сайте используются первый и последний типы рассылки: так еженедельный дайджест отправляется подписчикам по smtp, а сообщения о новых материалах публикуются на канале сайта в twitter. Вы можете определить свои классы средств доставки, или изменить поведение имеющихся.

Типы сообщений (message) — это классы, описывающие логику формирования сообщений. На данный момент доступны типы сообщений plain text и html. Никто не мешает объявить свои типы (например, для этого сайта определены сразу несколько). Из коробки поддерживается формирование сообщений при помощи шаблонов (совсем как для обычных web-страниц).

Стоит обратить внимание, что sitemessage реализует отложенную рассылку сообщений: то есть, запланировать её можно в ходе основного сеанса, а собственно осуществление отдать на откуп фоновым процессам (cron, системному планировщику, uWSGI cron/cron2 и т.п.). Типам сообщений может быть присвоен уровень приоритетности, что позволяет, например, при использовании cron, рассылать сообщения разного приоритета с различной периодичностью.

В новой версии приложения добавились инструменты для работы с подписками: 1. элемент формы, позволяющий пользователям выбрать, какие типы сообщений он желает получать каким средством (зарегистрированные пользовали pythonz.net могут видеть его в правой части на странице настроек); 2. для SMTP — поддержка заголовка List-Unsubscribe, позволяющего отписываться от рассылки прямо из почтового клиента, если он это поддерживает.

Помимо этого, добавлен e-mail бэкэнд и настройки, которые позволяют использовать sitemessage для отсылки сообщений встроенными средствами Django — send_mail() и др.

Обнаруженные ошибки исправлены.


Создавайте свои веб-проекты на Python.
Рассылайте, но не надоедайте.