
Idéalement, il faudrait passer tous les mails de la conf sous ce format et les instancier tous comme ça. Ça permet d'encoder proprement les headers avec éventuellement des variables dedans.
125 lines
4.6 KiB
Python
125 lines
4.6 KiB
Python
#!/usr/bin/env python
|
||
# -*- coding: utf-8 -*-
|
||
|
||
from email.header import Header
|
||
|
||
import sys
|
||
sys.path.append("/usr/scripts")
|
||
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 serais 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 à é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
|
||
Subject: %(proprio)s uploade
|
||
Content-Type: text/plain; charset="utf-8"
|
||
|
||
%(proprio)s uploade actuellement %(upload)s Mo.
|
||
|
||
--\u0020
|
||
Message créé par deconnexion.py"""
|
||
|
||
class Message_disconnect_hard(Message):
|
||
"""Envoyé à la ML disconnect@ en cas de dépassement de la limite hard"""
|
||
template = u"""%(proprio)s (%(id)s) a été limité en débit montant du fait d'un
|
||
upload excessif (%(upload)s Mo).
|
||
|
||
Ses machines ont été aperçues pour la dernière fois à ces endroits :
|
||
%(mdc)s
|
||
|
||
La chambre de l'adhérent est %(chambre)s.
|
||
|
||
--\u0020
|
||
Message créé par deconnexion.py
|
||
|
||
""" + (" __1__"+10*" "+3*"%"+","+7*"%"+"\n \_._/"+11*" "+",'%% \\-*"+7*"%"+"\n ( ^ )"+5*" "+";"+5*"%"+"*% _%%%%\"\n"+2*" "+"`='|\."+4*" "+",%%%"+7*" "+"\(_.*%%%%.\n"+4*" "+"/ |"+4*" "+"% *%%, ,"+4*"%"+"*("+4*" "+"'\n (/ | %^"+5*" "+",*%%% )\|,%%*%,_\n |__, |"+7*" "+"*%"+4*" "+"\/ #).-\"*%%*\n | |"+11*" "+"_.) ,/ *%,\n | | "+9*"_"+"/)#("+12*"_"+"\n /___| |"+25*"_"+"|\n ===").replace("%", "%%")
|
||
|
||
def __init__(self, emetteur, destinataires, proprio, id, upload, mdc, chambre):
|
||
self.proprio = proprio
|
||
self.id, self.upload, self.mdc, self.chambre = id, upload, mdc, chambre
|
||
self.objet = u"%s a été bridé" % (proprio)
|
||
self.corps = self.template
|
||
super(Message_disconnect_hard, self).__init__(emetteur, destinataires, self.objet, self.corps)
|
||
|
||
#: Envoyé à la ML disconnect@ en cas de dépassement de la limite hard plusieurs fois
|
||
message_disconnect_multi = u"""From: %(from)s
|
||
To: %(to)s
|
||
Subject: %(proprio)s a =?utf-8?q?=C3=A9t=C3=A9_brid=C3=A9?=
|
||
%(nbdeco)d fois pour upload en un mois !
|
||
Content-Type: text/plain; charset="utf-8"
|
||
|
||
L'adhérent %(proprio)s a été bridé %(nbdeco)d fois pour upload en un mois !
|
||
|
||
Le PS a été généré et se trouve sur zamok :
|
||
%(ps)s
|
||
|
||
--\u0020
|
||
Message créé par deconnexion.py"""
|