src/hdalab/management/commands/send_moderation_mail.py
branchdocumentation
changeset 693 09e00f38d177
parent 634 6bdb0e1c0b84
--- a/src/hdalab/management/commands/send_moderation_mail.py	Thu Apr 12 01:27:16 2018 +0200
+++ b/src/hdalab/management/commands/send_moderation_mail.py	Wed Apr 11 12:19:47 2018 +0200
@@ -1,8 +1,14 @@
 # -*- coding: utf-8 -*-
 '''
-Created on Mar 5, 2015
+Envoie un mail récapitulatif des renkan à modérer.
+Aucun mail n'est envoyé si aucune modération n'est demandée.
+
+L'envoi est fait aux utilisateurs marqués comme `staff <https://docs.djangoproject.com/en/1.8/ref/contrib/auth/#django.contrib.auth.models.User.is_staff>`_.
 
-@author: ymh
+cette commande est typiquement prévue pour être lancée à partir d'une tâche ``cron`` périodique (1 fois par jour par exemple).
+
+**Usage**: ``django-admin send_moderation_mail [options]``
+
 '''
 
 import logging
@@ -26,30 +32,30 @@
 
 TEMPLATE_NAME = "mails/moderation_notice"
 class Command(NoArgsCommand):
-    
+
     def handle_noargs(self, **options):
         # query renkan to moderate
         set_script_prefix(settings.SCRIPT_PREFIX)
-        
+
         renkan_query = HdalabRenkan.objects.filter(state=HdalabRenkan.MODERATED)
-        
+
         renkan_count = renkan_query.count()
-        
+
         if renkan_count == 0:
             logger.info("Send moderation email : no renkan to moderate. exiting")
             return
 
         logger.debug("Send moderation email : %d renkan(s) to moderate", renkan_count)
-        
+
         renkan_list = list(renkan_query.select_related()[:20])
-        
+
         connection = mail.get_connection()
         try:
             connection.open()
             for email_recipient in User.objects.filter(is_staff=True):
                 if not email_recipient.email:
                     continue
-    
+
                 msg_html = ""
                 msg_txt = ""
                 try:
@@ -67,7 +73,7 @@
                 except Exception as e:
                     logger.error("Error rendering template %s : %r", TEMPLATE_NAME, e)
                     raise e
-        
+
                 if not msg_html and not msg_txt:
                     logger.info("Send moderation email: nothing to email exiting")
                     continue
@@ -76,4 +82,3 @@
                 emsg.send(fail_silently=True)
         finally:
             connection.close()
-    
\ No newline at end of file