You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
1.3 KiB
33 lines
1.3 KiB
# -*- coding: utf-8 -*-
|
|
"""Command for sending the newsletter"""
|
|
from datetime import date, timedelta
|
|
|
|
from django.core.management.base import NoArgsCommand
|
|
from django.utils.translation import activate
|
|
|
|
from emencia.django.newsletter.models import Newsletter
|
|
|
|
|
|
class Command(NoArgsCommand):
|
|
"""this command run every day. check date and creates newsletter"""
|
|
help = 'create the announce every week.'
|
|
|
|
def handle(self, *args, **options):
|
|
activate('ru')
|
|
day = date.today()
|
|
while day <= date.today() + timedelta(days=7):
|
|
# Создаем только для пн-пт. По выходным не отправляем.
|
|
if day.isoweekday() < 6:
|
|
title = u'{name}, ' + u'ваше расписание выставок и конференций с {last_mailing_date}'.format(
|
|
last_mailing_date=day.strftime('%d.%m.%Y'))
|
|
defaults = {
|
|
'title': title,
|
|
'slug': 'dailymail-{date}'.format(date=day),
|
|
'status': Newsletter.WAITING,
|
|
}
|
|
Newsletter.objects.get_or_create(
|
|
dailymail=True,
|
|
sending_date=day,
|
|
defaults=defaults
|
|
)
|
|
day += timedelta(days=1)
|
|
|