"""Command for sending the newsletter"""
from django.conf import settings
from django.utils.translation import activate
from django.core.management.base import NoArgsCommand

from lttr.mailer import Mailer
from lttr.models import NewsletterMailing


class Command(NoArgsCommand):
    """Send the newsletter in queue"""
    help = 'Send the newsletter in queue'

    def handle_noargs(self, **options):
        verbose = int(options['verbosity'])

        if verbose:
            print('Starting sending newsletters...')

        activate(settings.LANGUAGE_CODE)

        for newsletter in NewsletterMailing.objects.exclude(
            status=Newsletter.DRAFT).exclude(status=Newsletter.SENT):
            mailer = Mailer(newsletter, verbose=verbose)
            if mailer.can_send:
                if verbose:
                    print('Start emailing %s' % newsletter.title)
                mailer.run()

        if verbose:
            print('End session sending')