From 0addbac08e16e453b8d723ae8ac456c13275e28e Mon Sep 17 00:00:00 2001 From: Valentin Samir Date: Tue, 1 Oct 2013 19:28:35 +0200 Subject: [PATCH] [mail] Templating --- gestion/chambres_vides.py | 6 +- gestion/config/mails/upload.py | 67 ------------------- gestion/mail/template/demenagement/From/fr | 1 + gestion/mail/template/demenagement/README | 1 + gestion/mail/template/demenagement/Subject/fr | 1 + gestion/mail/template/demenagement/To/fr | 1 + .../template/demenagement/body/fr} | 20 ++---- gestion/mail/template/reinscription/From/fr | 1 + .../mail/template/reinscription/Subject/fr | 1 + gestion/mail/template/reinscription/To/fr | 1 + gestion/mail/template/reinscription/body/fr | 32 +++++++++ gestion/mail/template/upload_hard/From/fr | 1 + gestion/mail/template/upload_hard/README | 1 + gestion/mail/template/upload_hard/Subject/fr | 1 + gestion/mail/template/upload_hard/To/fr | 1 + gestion/mail/template/upload_hard/body/fr | 20 ++++++ gestion/mail/template/upload_soft/From/fr | 1 + gestion/mail/template/upload_soft/README | 1 + gestion/mail/template/upload_soft/Subject/fr | 1 + gestion/mail/template/upload_soft/To/fr | 1 + gestion/mail/template/upload_soft/body/fr | 32 +++++++++ surveillance/deconnexion.py | 6 +- 22 files changed, 112 insertions(+), 86 deletions(-) create mode 100644 gestion/mail/template/demenagement/From/fr create mode 100644 gestion/mail/template/demenagement/README create mode 100644 gestion/mail/template/demenagement/Subject/fr create mode 100644 gestion/mail/template/demenagement/To/fr rename gestion/{config/mails/demenagement.py => mail/template/demenagement/body/fr} (59%) create mode 100644 gestion/mail/template/reinscription/From/fr create mode 100644 gestion/mail/template/reinscription/Subject/fr create mode 100644 gestion/mail/template/reinscription/To/fr create mode 100644 gestion/mail/template/reinscription/body/fr create mode 100644 gestion/mail/template/upload_hard/From/fr create mode 100644 gestion/mail/template/upload_hard/README create mode 100644 gestion/mail/template/upload_hard/Subject/fr create mode 100644 gestion/mail/template/upload_hard/To/fr create mode 100644 gestion/mail/template/upload_hard/body/fr create mode 100644 gestion/mail/template/upload_soft/From/fr create mode 100644 gestion/mail/template/upload_soft/README create mode 100644 gestion/mail/template/upload_soft/Subject/fr create mode 100644 gestion/mail/template/upload_soft/To/fr create mode 100644 gestion/mail/template/upload_soft/body/fr diff --git a/gestion/chambres_vides.py b/gestion/chambres_vides.py index eaedae42..57c8dbaf 100755 --- a/gestion/chambres_vides.py +++ b/gestion/chambres_vides.py @@ -15,6 +15,7 @@ import re import ldap_crans conn = ldap_crans.CransLdap() +import mail as mail_module import sys #: envoyer un mail à chaque adhérent concerné sendmails = False @@ -69,9 +70,12 @@ for clandestin in bad_boys_e_s: if not "@" in to: to += "@crans.org" mail = config.mails.demenagement.message_demenagement % {"from" : "respbats@crans.org", + mail = mail_module.generate('demenagement', {"from" : "respbats@crans.org", "chambre" : exchambre, "jours" : int(ttl/86400) + 1, - "to" : to} + "to" : to, + "lang_info":"English version below"} + ).as_string() if DEBUG: print mail mailer = os.popen("/usr/sbin/sendmail -t", "w") diff --git a/gestion/config/mails/upload.py b/gestion/config/mails/upload.py index 5bff3579..511cce81 100644 --- a/gestion/config/mails/upload.py +++ b/gestion/config/mails/upload.py @@ -9,73 +9,6 @@ from utils.sendmail import Message """ Templates des mails envoyés en cas d'upload. """ -#: Envoyé à l'adhérent en cas de dépassement de la limite soft -message_soft = u"""From: %%(from)s -To: %%(to)s -Subject: %(subject)s -Content-Type: text/plain; charset="utf-8" - -Bonjour %%(proprio)s, - -Nous t'informons que ta (tes) machine(s) envoie(nt) une quantité -importante de données vers l'extérieur (%%(upload)s Mo en 24 heures). - -*Ce message t'est envoyé à titre informatif, il ne te sanctionne pas.* - -Il signifie que tu as envoyé plus de 300 Mo au cours des dernières 24 -heures. Cela peut venir du fait que, *par exemple*, tu essaies -d'envoyer des fichiers de grosse taille à l'extérieur de la zone -crans, ou encore que tu as fait une utilisation importante de -logiciels envoyant une très grande quantité de petites données -(vidéo-conférence par exemple). Il peut y avoir d'autres raisons. - - -Si cela continuait, et que tu dépassais la limite acceptable des 3789 -Mo sur 24 heures, ton débit serait automatiquement fortement limité pour -une durée de 24 heures. Il t'appartient donc de surveiller cela de -plus près et de faire en sorte que tes machines n'uploadent pas de -manière excessive à l'avenir. - - -Pour plus d'informations, tu peux consulter la page: -http://wiki.crans.org/VieCrans/DéconnexionPourUpload - -Si tu as des questions, contacte disconnect@crans.org - -N.B. : L'upload consiste en l'envoi de données vers des machines n'étant -pas branchées sur le CRANS. - ---\u0020 -Disconnect team""" % {'subject': Header('[Cr@ns] Attention !', 'utf-8')} - - -#: Envoyé à l'adhérent en cas de dépassement de la limite hard -message_hard = u"""From: %%(from)s -To: %%(to)s -Subject: %(subject)s -Content-Type: text/plain; charset="utf-8" - -Bonjour %%(proprio)s, - -Ton débit a été temporairement limité en raison de l'envoi trop -important de données vers l'extérieur (%%(upload)s Mo en 24h). - -Si cela devait se renouveler trop souvent, tu serais déconnecté -complètement pour une durée plus importante. -Il t'appartient donc de surveiller cela de plus près et de faire en sorte que -ta machine n'uploade plus de manière excessive à l'avenir. - -Pour plus d'informations, tu peux consulter la page : -http://wiki.crans.org/VieCrans/DéconnexionPourUpload - -Si tu as des questions, contacte disconnect@crans.org - -N.B. : L'upload consiste en l'envoi de données vers des machines n'étant -pas branchées sur le CRANS. - ---\u0020 -Disconnect team""" % {'subject': Header('[Cr@ns] Limitation temporaire de ton débit montant.', 'utf-8')} - #: Envoyé à la ML disconnect@ en cas de dépassement de la limite soft (désactivé) message_disconnect_soft = u"""From: %(from)s To: %(to)s diff --git a/gestion/mail/template/demenagement/From/fr b/gestion/mail/template/demenagement/From/fr new file mode 100644 index 00000000..f75e6e37 --- /dev/null +++ b/gestion/mail/template/demenagement/From/fr @@ -0,0 +1 @@ +{{from}} diff --git a/gestion/mail/template/demenagement/README b/gestion/mail/template/demenagement/README new file mode 100644 index 00000000..5a6993f5 --- /dev/null +++ b/gestion/mail/template/demenagement/README @@ -0,0 +1 @@ +Template de mail envoyé en cas de déménagement mais présence de machines diff --git a/gestion/mail/template/demenagement/Subject/fr b/gestion/mail/template/demenagement/Subject/fr new file mode 100644 index 00000000..d19afad2 --- /dev/null +++ b/gestion/mail/template/demenagement/Subject/fr @@ -0,0 +1 @@ +[Cr@ns] Déménagement non déclaré diff --git a/gestion/mail/template/demenagement/To/fr b/gestion/mail/template/demenagement/To/fr new file mode 100644 index 00000000..e6199f75 --- /dev/null +++ b/gestion/mail/template/demenagement/To/fr @@ -0,0 +1 @@ +{{to}} diff --git a/gestion/config/mails/demenagement.py b/gestion/mail/template/demenagement/body/fr similarity index 59% rename from gestion/config/mails/demenagement.py rename to gestion/mail/template/demenagement/body/fr index 58eb7cfc..713e4760 100644 --- a/gestion/config/mails/demenagement.py +++ b/gestion/mail/template/demenagement/body/fr @@ -1,18 +1,6 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -""" Template de mail envoyé en cas de déménagement mais présence de machines. """ - -import email.Header - -message_demenagement = u"""From: %%(from)s -To: %%(to)s -Subject: %s -Content-Type: text/plain; charset="utf-8" - Bonjour, -Un adhérent au Cr@ns a déclaré résider dans la chambre %%(chambre)s, +Un adhérent au Cr@ns a déclaré résider dans la chambre {{chambre}}, que tu occupais précédemment. Cela signifie que nous ne disposons plus d'informations de résidence valides à ton sujet. @@ -25,11 +13,11 @@ Si tu souhaites conserver ton accès au Cr@ns : Si tu ne souhaites pas conserver ton accès au Cr@ns, un simple message de ta part et nous supprimerons les machines que tu possèdes de notre base de données. -Cette suppression aura automatiquement lieu dans %%(jours)s jours en l'absence de +Cette suppression aura automatiquement lieu dans {{jours}} jours en l'absence de réponse. S'il s'agit d'une erreur de notre part, préviens-nous au plus vite afin que nous puissions corriger le problème. ---\u0020 -Les membres actifs du Crans""" % email.Header.make_header([("Déménagement non déclaré", "utf8")]) \ No newline at end of file +-- +Les membres actifs du Crans diff --git a/gestion/mail/template/reinscription/From/fr b/gestion/mail/template/reinscription/From/fr new file mode 100644 index 00000000..d881fd7f --- /dev/null +++ b/gestion/mail/template/reinscription/From/fr @@ -0,0 +1 @@ +Les câbleurs du Crans diff --git a/gestion/mail/template/reinscription/Subject/fr b/gestion/mail/template/reinscription/Subject/fr new file mode 100644 index 00000000..1136a7d6 --- /dev/null +++ b/gestion/mail/template/reinscription/Subject/fr @@ -0,0 +1 @@ +Réadhésion au Crans diff --git a/gestion/mail/template/reinscription/To/fr b/gestion/mail/template/reinscription/To/fr new file mode 100644 index 00000000..38476730 --- /dev/null +++ b/gestion/mail/template/reinscription/To/fr @@ -0,0 +1 @@ +{{To}} diff --git a/gestion/mail/template/reinscription/body/fr b/gestion/mail/template/reinscription/body/fr new file mode 100644 index 00000000..03ba462b --- /dev/null +++ b/gestion/mail/template/reinscription/body/fr @@ -0,0 +1,32 @@ +Cher adhérent du Cr@ns, + +Il apparaît que tu n'as pas encore réadhéré pour cette année +universitaire. Si tu souhaites conserver ta connexion au Cr@ns +et à Internet, il te faut réadhérer avant le 30 septembre au soir, +sans quoi ta connexion sera coupée. + +Tu peux pour cela nous retrouver lors d'une de nos permanences. Pour +rappel, elles ont lieu du lundi au vendredi, de 12h30 à 13h30 et de +18h30 à 21h, *sauf le mardi soir*. Ne viens pas en dehors de ces +horaires, car personne ne serait en mesure de faire ta réadhésion. + +Pour réadhérer, il te suffit de te munir : + + * de la cotisation pour cette année, qui est toujours de 50€, + payables par chèque à l'ordre de "L'association Crans", ou en espèces + * si tu peux déjà le fournir, un certificat de scolarité ou ta carte + d'étudiant valable pour cette année (si tu n'en disposes pas encore, + tu as jusqu'à la fin du mois d'octobre pour en rapporter un) + +il te suffira de remplir un formulaire de réadhésion à la permanence +(dans lequel aucune information technique n'est demandée). + +Si tu ne souhaites pas réadhérer pour l'année prochaine, un simple +message de ta part et nous supprimerons tes machines de notre base +de données. + +À très bientôt ! + +-- + +Les câbleurs du Cr@ns diff --git a/gestion/mail/template/upload_hard/From/fr b/gestion/mail/template/upload_hard/From/fr new file mode 100644 index 00000000..f75e6e37 --- /dev/null +++ b/gestion/mail/template/upload_hard/From/fr @@ -0,0 +1 @@ +{{from}} diff --git a/gestion/mail/template/upload_hard/README b/gestion/mail/template/upload_hard/README new file mode 100644 index 00000000..df7cf491 --- /dev/null +++ b/gestion/mail/template/upload_hard/README @@ -0,0 +1 @@ +Envoyé à l'adhérent en cas de dépassement de la limite soft diff --git a/gestion/mail/template/upload_hard/Subject/fr b/gestion/mail/template/upload_hard/Subject/fr new file mode 100644 index 00000000..6d47894f --- /dev/null +++ b/gestion/mail/template/upload_hard/Subject/fr @@ -0,0 +1 @@ +[Cr@ns] Limitation temporaire de ton débit montant diff --git a/gestion/mail/template/upload_hard/To/fr b/gestion/mail/template/upload_hard/To/fr new file mode 100644 index 00000000..e6199f75 --- /dev/null +++ b/gestion/mail/template/upload_hard/To/fr @@ -0,0 +1 @@ +{{to}} diff --git a/gestion/mail/template/upload_hard/body/fr b/gestion/mail/template/upload_hard/body/fr new file mode 100644 index 00000000..d3c5b25f --- /dev/null +++ b/gestion/mail/template/upload_hard/body/fr @@ -0,0 +1,20 @@ +Bonjour {{proprio}}, + +Ton débit a été temporairement limité en raison de l'envoi trop +important de données vers l'extérieur ({{upload}} Mo en 24h). + +Si cela devait se renouveler trop souvent, tu serais déconnecté +complètement pour une durée plus importante. +Il t'appartient donc de surveiller cela de plus près et de faire en sorte que +ta machine n'uploade plus de manière excessive à l'avenir. + +Pour plus d'informations, tu peux consulter la page : +http://wiki.crans.org/VieCrans/DéconnexionPourUpload + +Si tu as des questions, contacte disconnect@crans.org + +N.B. : L'upload consiste en l'envoi de données vers des machines n'étant +pas branchées sur le CRANS. + +-- +Disconnect team diff --git a/gestion/mail/template/upload_soft/From/fr b/gestion/mail/template/upload_soft/From/fr new file mode 100644 index 00000000..f75e6e37 --- /dev/null +++ b/gestion/mail/template/upload_soft/From/fr @@ -0,0 +1 @@ +{{from}} diff --git a/gestion/mail/template/upload_soft/README b/gestion/mail/template/upload_soft/README new file mode 100644 index 00000000..b4cf5f6f --- /dev/null +++ b/gestion/mail/template/upload_soft/README @@ -0,0 +1 @@ +Envoyé à l'adhérent en cas de dépassement de la limite hard diff --git a/gestion/mail/template/upload_soft/Subject/fr b/gestion/mail/template/upload_soft/Subject/fr new file mode 100644 index 00000000..0fdfd8a5 --- /dev/null +++ b/gestion/mail/template/upload_soft/Subject/fr @@ -0,0 +1 @@ +[Cr@ns] Attention ! diff --git a/gestion/mail/template/upload_soft/To/fr b/gestion/mail/template/upload_soft/To/fr new file mode 100644 index 00000000..e6199f75 --- /dev/null +++ b/gestion/mail/template/upload_soft/To/fr @@ -0,0 +1 @@ +{{to}} diff --git a/gestion/mail/template/upload_soft/body/fr b/gestion/mail/template/upload_soft/body/fr new file mode 100644 index 00000000..aa9b36cb --- /dev/null +++ b/gestion/mail/template/upload_soft/body/fr @@ -0,0 +1,32 @@ +Bonjour {{proprio}}, + +Nous t'informons que ta (tes) machine(s) envoie(nt) une quantité +importante de données vers l'extérieur ({{upload}} Mo en 24 heures). + +*Ce message t'est envoyé à titre informatif, il ne te sanctionne pas.* + +Il signifie que tu as envoyé plus de 300 Mo au cours des dernières 24 +heures. Cela peut venir du fait que, *par exemple*, tu essaies +d'envoyer des fichiers de grosse taille à l'extérieur de la zone +crans, ou encore que tu as fait une utilisation importante de +logiciels envoyant une très grande quantité de petites données +(vidéo-conférence par exemple). Il peut y avoir d'autres raisons. + + +Si cela continuait, et que tu dépassais la limite acceptable des 3789 +Mo sur 24 heures, ton débit serait automatiquement fortement limité pour +une durée de 24 heures. Il t'appartient donc de surveiller cela de +plus près et de faire en sorte que tes machines n'uploadent pas de +manière excessive à l'avenir. + + +Pour plus d'informations, tu peux consulter la page: +http://wiki.crans.org/VieCrans/DéconnexionPourUpload + +Si tu as des questions, contacte disconnect@crans.org + +N.B. : L'upload consiste en l'envoi de données vers des machines n'étant +pas branchées sur le CRANS. + +-- +Disconnect team diff --git a/surveillance/deconnexion.py b/surveillance/deconnexion.py index 2c488b17..2d729f7b 100755 --- a/surveillance/deconnexion.py +++ b/surveillance/deconnexion.py @@ -35,6 +35,8 @@ sys.path.append('/usr/scripts/surveillance/fiche_deconnexion') from generate import generate_ps from affich_tools import tableau +import mail as mail_module + # ldap ldap = crans_ldap() @@ -237,7 +239,7 @@ for elupload, eltype, elid in uploadeurs: ################################ mail = connectsmtp() - corps = config.mails.upload.message_hard % {'from': upload.expediteur, 'to': proprio.email(), 'upload': elupload, 'proprio': proprio.Nom()} + corps = mail_module.generate('upload_hard', {'from': upload.expediteur, 'to': proprio.email(), 'upload': elupload, 'proprio': proprio.Nom(), 'lang_info':'English version below'}).as_string() corps = corps.encode('utf-8') mail.sendmail(upload.expediteur, proprio.email(), corps) @@ -296,7 +298,7 @@ for elupload, eltype, elid in uploadeurs: ################################ mail = connectsmtp() - corps = config.mails.upload.message_soft % {'from': upload.expediteur, 'to': proprio.email(), 'upload': elupload, 'proprio': proprio.Nom()} + corps = mail_module.generate('upload_soft', {'from': upload.expediteur, 'to': proprio.email(), 'upload': elupload, 'proprio': proprio.Nom(), 'lang_info':'English version below'}).as_string() corps = corps.encode('utf-8') mail.sendmail(upload.expediteur, proprio.email(), corps)